Skip to content

Commit fa88082

Browse files
committed
done
1 parent d71e0b9 commit fa88082

File tree

15 files changed

+365
-100
lines changed

15 files changed

+365
-100
lines changed

src/PHPixie/HTTP.php

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,70 @@
44

55
class HTTP
66
{
7-
public function stream($file){}
8-
public function sapiUploadedFile($data){}
9-
public function sapiUri(){}
7+
protected $builder;
8+
9+
public function __construct($slice)
10+
{
11+
$this->builder = $this->buildBuilder($slice);
12+
}
13+
14+
public function sapiServerRequest()
15+
{
16+
return $this->builder->messages()->sapiServerRequest();
17+
}
18+
19+
public function request($serverRequest = null)
20+
{
21+
if($serverRequest === null) {
22+
$serverRequest = $this->sapiServerRequest();
23+
}
24+
return $this->builder->request($serverRequest);
25+
}
26+
27+
public function output($response, $context = null)
28+
{
29+
$this->builder->output()->response($response, $context);
30+
}
31+
32+
public function outputResponseMessage($responseMessage)
33+
{
34+
$this->builder->output()->responseMessage($responseMessage);
35+
}
36+
37+
public function context($request, $session = null)
38+
{
39+
$serverRequest = $request->serverRequest();
40+
return $this->serverRequestContext($serverRequest, $session);
41+
}
42+
43+
public function serverRequestContext($serverRequest, $session = null)
44+
{
45+
$cookieArray = $serverRequest->getCookieParams();
46+
$cookies = $this->builder->cookies($cookieArray);
47+
if($session === null) {
48+
$session = $this->builder->sapiSession();
49+
}
50+
51+
return $this->builder->context($cookies, $session);
52+
}
53+
54+
public function messages()
55+
{
56+
return $this->builder->messages();
57+
}
58+
59+
public function responses()
60+
{
61+
return $this->builder->responses();
62+
}
63+
64+
public function builder()
65+
{
66+
return $this->builder;
67+
}
68+
69+
protected function buildBuilder($slice)
70+
{
71+
return new HTTP\Builder($slice);
72+
}
1073
}

src/PHPixie/HTTP/Context/Request.php

Lines changed: 0 additions & 60 deletions
This file was deleted.

src/PHPixie/HTTP/Context/Request/Data.php

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/PHPixie/HTTP/Data/Parameters.php

Whitespace-only changes.

src/PHPixie/HTTP/Messages/Message.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public function withProtocolVersion($version)
3131

3232
public function getHeaders()
3333
{
34+
$this->requireHeaders();
3435
return $this->headers;
3536
}
3637

src/PHPixie/HTTP/Output.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,22 @@
44

55
class Output
66
{
7-
public function responseMessage($response)
7+
public function response($response, $context = null)
8+
{
9+
$responseMessage = $response->asResponseMessage($context);
10+
$this->responseMessage($responseMessage);
11+
}
12+
13+
public function responseMessage($responseMessage)
814
{
915
$this->statusHeader(
10-
$response->getStatusCode(),
11-
$response->getReasonPhrase(),
12-
$response->getProtocolVersion()
16+
$responseMessage->getStatusCode(),
17+
$responseMessage->getReasonPhrase(),
18+
$responseMessage->getProtocolVersion()
1319
);
1420

15-
$this->headers($response->getHeaders());
16-
$this->body($response->getBody());
21+
$this->headers($responseMessage->getHeaders());
22+
$this->body($responseMessage->getBody());
1723
}
1824

1925
protected function headers($headers)

src/PHPixie/HTTP/Request.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Request
1010
'query' => 'getQueryParams',
1111
'data' => 'getParsedBody',
1212
'attributes' => 'getAttributes',
13-
'uploads' => 'getFileUploads',
13+
'uploads' => 'getUploadedFiles',
1414
);
1515

1616
protected $server;

src/PHPixie/HTTP/Responses.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ protected function downloadResponse($fileName, $contentType, $body)
8383

8484
protected function buildResponse($headers, $body, $statusCode = 200, $reasonPhrase = null)
8585
{
86-
return new Responses\Response($headers, $body, $statusCode, $reasonPhrase);
86+
$messages = $this->builder->messages();
87+
return new Responses\Response($messages, $headers, $body, $statusCode, $reasonPhrase);
8788
}
8889
}

tests/PHPixie/Tests/HTTP/Headers/EditableTest.php renamed to tests/PHPixie/Tests/HTTP/Data/Headers/EditableTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?php
22

3-
namespace PHPixie\Tests\HTTP\Headers;
3+
namespace PHPixie\Tests\HTTP\Data\Headers;
44

55
/**
6-
* @coversDefaultClass PHPixie\HTTP\Headers\Editable
6+
* @coversDefaultClass PHPixie\HTTP\Data\Headers\Editable
77
*/
8-
class EditableTest extends \PHPixie\Tests\HTTP\HeadersTest
8+
class EditableTest extends \PHPixie\Tests\HTTP\Data\HeadersTest
99
{
1010
/**
1111
* @covers ::set
@@ -69,6 +69,6 @@ public function testRemove()
6969

7070
protected function headers()
7171
{
72-
return new \PHPixie\HTTP\Headers\Editable($this->headerArray);
72+
return new \PHPixie\HTTP\Data\Headers\Editable($this->headerArray);
7373
}
7474
}

tests/PHPixie/Tests/HTTP/HeadersTest.php renamed to tests/PHPixie/Tests/HTTP/Data/HeadersTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
22

3-
namespace PHPixie\Tests\HTTP;
3+
namespace PHPixie\Tests\HTTP\Data;
44

55
/**
6-
* @coversDefaultClass PHPixie\HTTP\Headers
6+
* @coversDefaultClass PHPixie\HTTP\Data\Headers
77
*/
88
class HeadersTest extends \PHPixie\Test\Testcase
99
{
@@ -52,8 +52,8 @@ public function testGet()
5252
*/
5353
public function testGetRequired()
5454
{
55-
$this->assertSame('Pixie', $this->headers->get('fairy'));
56-
$this->assertSame('Trixie,Blum', $this->headers->get('pixie-name'));
55+
$this->assertSame('Pixie', $this->headers->getRequired('fairy'));
56+
$this->assertSame('Trixie,Blum', $this->headers->getRequired('pixie-name'));
5757

5858
$headers = $this->headers;
5959
$this->assertException(function() use($headers) {
@@ -105,6 +105,6 @@ protected function assertHeaders($headers)
105105

106106
protected function headers()
107107
{
108-
return new \PHPixie\HTTP\Headers($this->headerArray);
108+
return new \PHPixie\HTTP\Data\Headers($this->headerArray);
109109
}
110110
}

0 commit comments

Comments
 (0)