Exemple #1
0
 /**
  * @param Request $request
  * @param int     $type
  * @param bool    $catch
  *
  * @return Response
  * @throws \Exception
  */
 public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
 {
     if (false === $this->config->get('debug')) {
         $this->registerFatalErrorHandler();
     }
     $factory = new StackedHttpKernel($this->container, $dispatch = $request->attributes->get('dispatch'));
     list($name, $this->stack) = $factory->register($this, 'pyrite.root_kernel', $dispatch);
     return $this->stack->handle($request, $type, $catch);
 }
 /** @test */
 public function terminateShouldDelegateToMiddlewares()
 {
     $app = $this->getTerminableMock(new Response('ok'));
     $foo = $this->getTerminableMock();
     $bar = $this->getTerminableMock();
     $kernel = new StackedHttpKernel($app, array($app, $foo, $bar));
     $request = Request::create('/');
     $response = $kernel->handle($request);
     $kernel->terminate($request, $response);
 }
 /** @test */
 public function terminateShouldDelegateToMiddlewares()
 {
     $first = new TerminableKernelSpy();
     $second = new TerminableKernelSpy($first);
     $third = new KernelSpy($second);
     $fourth = new TerminableKernelSpy($third);
     $fifth = new TerminableKernelSpy($fourth);
     $kernel = new StackedHttpKernel($fifth, $middlewares = array($fifth, $fourth, $third, $second, $first));
     $request = Request::create('/');
     $response = $kernel->handle($request);
     $kernel->terminate($request, $response);
     $this->assertTerminablesCalledOnce($middlewares);
 }