示例#1
0
 function it_respects_middleware_sequence(Middleware $m1, Middleware $m2, Middleware $m3, ServerRequestInterface $request, Delegate $delegate, ResponseInterface $response, ResponseInterface $lastResponse)
 {
     $m1->process($request, Argument::type(Delegate::class))->will(function ($args) use($lastResponse, $response) {
         $args[1]->next($args[0]);
         return $lastResponse;
     })->shouldBeCalled();
     $m2->process($request, Argument::type(Delegate::class))->will(function ($args) {
         return $args[1]->next($args[0]);
     })->shouldBeCalled();
     $m3->process($request, Argument::type(Delegate::class))->will(function ($args) {
         return $args[1]->next($args[0]);
     })->shouldBeCalled();
     $delegate->next($request)->willReturn($response)->shouldBeCalled();
     $this->withMiddleware($m1)->withMiddleware($m2)->withMiddleware($m3)->process($request, $delegate)->shouldBe($lastResponse);
 }
示例#2
0
 /**
  * @inheritDoc
  */
 public function next(ServerRequestInterface $request) : ResponseInterface
 {
     return $this->middleware->process($request, $this->delegate);
 }