public function testMiddlewareCallingNextWithResponseResetsResponse()
{
$cannedResponse = new Response(new PsrResponse());
$route1 = new Route('/foo', function ($req, $res, $next) use($cannedResponse) {
return $next($req, $cannedResponse);
});
$route2 = new Route('/foo/bar', function ($req, $res, $next) use($cannedResponse) {
$this->assertSame($cannedResponse, $res);
return $res;
});
$this->queue->enqueue($route1);
$this->queue->enqueue($route2);
$done = function ($req, $res, $err) {
$this->fail('Should not hit final handler');
};
$request = $this->request->withUri(new Uri('http://example.com/foo/bar/baz'));
$next = new Next($this->queue, $done);
$next($request, $this->response);
}