Update routes to match new MiddlewareInterface

This commit is contained in:
PJ Dietz 2015-05-09 18:36:04 -04:00
parent 72767b74e8
commit 36263ba3de
5 changed files with 21 additions and 12 deletions

View File

@ -31,11 +31,11 @@ class RegexRoute extends Route
return false;
}
public function dispatch(ServerRequestInterface $request, ResponseInterface &$response)
public function dispatch(ServerRequestInterface $request, ResponseInterface $response, $next)
{
if ($this->captures) {
$request = $request->withAttribute("path", $this->captures);
}
parent::dispatch($request, $response);
return parent::dispatch($request, $response, $next);
}
}

View File

@ -37,8 +37,8 @@ abstract class Route implements RouteInterface
return $this->target;
}
public function dispatch(ServerRequestInterface $request, ResponseInterface &$response)
public function dispatch(ServerRequestInterface $request, ResponseInterface $response, $next)
{
$this->methodMap->dispatch($request, $response);
return $this->methodMap->dispatch($request, $response, $next);
}
}

View File

@ -47,11 +47,13 @@ class RegexRouteTest extends \PHPUnit_Framework_TestCase
$request = $this->prophesize('Psr\Http\Message\ServerRequestInterface');
$request->withAttribute(Argument::cetera())->willReturn($request->reveal());
$response = $this->prophesize('Psr\Http\Message\ResponseInterface');
$responseReveal = $response->reveal();
$next = function ($request, $response) {
return $response;
};
$route = new RegexRoute($pattern, $this->methodMap->reveal());
$route->matchesRequestTarget($path);
$route->dispatch($request->reveal(), $responseReveal);
$route->dispatch($request->reveal(), $response->reveal(), $next);
$request->withAttribute("path", $expectedCaptures)->shouldHaveBeenCalled();
}

View File

@ -7,6 +7,7 @@ use Prophecy\Argument;
/**
* @coversDefaultClass WellRESTed\Routing\Route\Route
* @uses WellRESTed\Routing\Route\Route
* @group route
*/
class RouteTest extends \PHPUnit_Framework_TestCase
{
@ -60,7 +61,10 @@ class RouteTest extends \PHPUnit_Framework_TestCase
$request = $this->prophesize('Psr\Http\Message\ServerRequestInterface')->reveal();
$response = $this->prophesize('Psr\Http\Message\ResponseInterface')->reveal();
$route->dispatch($request, $response);
$next = function ($request, $response) {
return $response;
};
$route->dispatch($request, $response, $next);
$methodMap->dispatch(Argument::cetera())->shouldHaveBeenCalled();
}

View File

@ -46,11 +46,13 @@ class TemplateRouteTest extends \PHPUnit_Framework_TestCase
$request = $this->prophesize('Psr\Http\Message\ServerRequestInterface');
$request->withAttribute(Argument::cetera())->willReturn($request->reveal());
$response = $this->prophesize('Psr\Http\Message\ResponseInterface');
$responseReveal = $response->reveal();
$next = function ($request, $response) {
return $response;
};
$route = new TemplateRoute($template, $this->methodMap->reveal());
$route->matchesRequestTarget($path);
$route->dispatch($request->reveal(), $responseReveal);
$route->dispatch($request->reveal(), $response->reveal(), $next);
$request->withAttribute("path", Argument::that(function ($path) use ($expectedCaptures) {
return array_intersect_assoc($path, $expectedCaptures) == $expectedCaptures;
@ -100,11 +102,12 @@ class TemplateRouteTest extends \PHPUnit_Framework_TestCase
$request = $this->prophesize('Psr\Http\Message\ServerRequestInterface');
$request->withAttribute(Argument::cetera())->willReturn($request->reveal());
$response = $this->prophesize('Psr\Http\Message\ResponseInterface');
$responseReveal = $response->reveal();
$next = function ($request, $response) {
return $response;
};
$route = new TemplateRoute($template, $this->methodMap->reveal());
$route->matchesRequestTarget($path);
$route->dispatch($request->reveal(), $responseReveal);
$route->dispatch($request->reveal(), $response->reveal(), $next);
$request->withAttribute("path", Argument::that(function ($path) use ($expectedCaptures) {
return array_intersect_assoc($path, $expectedCaptures) == $expectedCaptures;