Skip to content

Commit a1eef97

Browse files
committed
context container
1 parent 5cd4db4 commit a1eef97

File tree

17 files changed

+118
-15
lines changed

17 files changed

+118
-15
lines changed

.travis.yml

100644100755
File mode changed.

src/PHPixie/HTTP.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ public function serverRequestContext($serverRequest, $session = null)
4848
$session = $this->builder->sapiSession();
4949
}
5050

51-
return $this->builder->context($cookies, $session);
51+
return $this->builder->context($serverRequest, $cookies, $session);
52+
}
53+
54+
public function contextContainer($context)
55+
{
56+
return $this->builder->contextContainer($context);
5257
}
5358

5459
public function messages()

src/PHPixie/HTTP/Builder.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ public function serverData($serverData = array())
5151
return new Data\Server($serverData);
5252
}
5353

54-
public function context($cookies, $session)
54+
public function context($serverRequest, $cookies, $session)
5555
{
56-
return new Context($cookies, $session);
56+
return new Context($serverRequest, $cookies, $session);
5757
}
5858

5959
public function cookies($cookieArray = array())
@@ -87,6 +87,11 @@ public function cookiesUpdate(
8787
);
8888
}
8989

90+
public function contextContainer($context)
91+
{
92+
return new Context\Container\Implementation($context);
93+
}
94+
9095
protected function instance($name)
9196
{
9297
if(!array_key_exists($name, $this->instances)) {

src/PHPixie/HTTP/Context.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
class Context
66
{
7+
protected $serverRequest;
78
protected $cookies;
89
protected $session;
910

src/PHPixie/HTTP/Context/Container.php

100644100755
File mode changed.

src/PHPixie/HTTP/Context/Container/Implementation.php

100644100755
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
namespace PHPixie\HTTP\Context\Container;
44

5-
interface Implementation
5+
class Implementation
66
{
7-
protected $builder;
7+
protected $context;
8+
9+
public function __construct($context)
10+
{
11+
$this->context = $context;
12+
}
813

914
public function httpContext()
1015
{
11-
$this->builder->
16+
return $this->context;
1217
}
1318
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace PHPixie\HTTP\Context\Container;
4+
5+
interface Settable
6+
{
7+
public function setHttpContext();
8+
}

src/PHPixie/HTTP/Messages/Stream/StringStream.php

100644100755
File mode changed.

test

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
C:\Users\Dracony\AppData\Local\Temp\htt162E.tmp
1+
/tmp/http_output_testfTVApt

tests/PHPixie/Tests/HTTP/BuilderTest.php

100644100755
Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,15 @@ public function testServer()
146146
*/
147147
public function testContext()
148148
{
149-
$cookies = $this->quickMock('\PHPixie\HTTP\Context\Cookies');
150-
$session = $this->quickMock('\PHPixie\HTTP\Context\Session');
149+
$serverRequest = $this->quickMock('\Psr\Http\Message\ServerRequestInterface');
150+
$cookies = $this->quickMock('\PHPixie\HTTP\Context\Cookies');
151+
$session = $this->quickMock('\PHPixie\HTTP\Context\Session');
151152

152-
$context = $this->builder->context($cookies, $session);
153+
$context = $this->builder->context($serverRequest, $cookies, $session);
153154
$this->assertInstance($context, '\PHPixie\HTTP\Context', array(
154-
'cookies' => $cookies,
155-
'session' => $session,
155+
'serverRequest' => $serverRequest,
156+
'cookies' => $cookies,
157+
'session' => $session,
156158
));
157159
}
158160

@@ -219,6 +221,20 @@ public function testCookieUpdate()
219221
$this->assertInstance($cookieUpdate, '\PHPixie\HTTP\Context\Cookies\Update', $params);
220222
}
221223

224+
/**
225+
* @covers ::contextContainer
226+
* @covers ::<protected>
227+
*/
228+
public function testContextContainer()
229+
{
230+
$context = $this->quickMock('\PHPixie\HTTP\Context');
231+
232+
$contextContainer = $this->builder->contextContainer($context);
233+
$this->assertInstance($contextContainer, '\PHPixie\HTTP\Context\Container\Implementation', array(
234+
'context' => $context
235+
));
236+
}
237+
222238
protected function instanceTest($method, $class, $propertyMap = array())
223239
{
224240
$instance = $this->builder->$method();

0 commit comments

Comments
 (0)