Provides the optional ability to render a template for each of 404 and general error conditions. If no template renderer is provided, returns empty responses with appropriate status codes.
Ejemplo n.º 1
0
 /**
  * @param Whoops $whoops
  * @param PrettyPageHandler $whoopsHandler
  * @param null|Template\TemplateRendererInterface $renderer
  * @param null|string $template404
  * @param null|string $templateError
  * @param null|Response $originalResponse
  */
 public function __construct(Whoops $whoops, PrettyPageHandler $whoopsHandler, Template\TemplateRendererInterface $renderer = null, $template404 = 'error/404', $templateError = 'error/error', Response $originalResponse = null)
 {
     $this->whoops = $whoops;
     $this->whoopsHandler = $whoopsHandler;
     parent::__construct($renderer, $template404, $templateError, $originalResponse);
 }
 /**
  * @group templated
  */
 public function testInvocationWithoutErrorAndResponseSameAsOriginalCanReturnTemplated404Response()
 {
     $template = $this->getTemplateImplementation();
     $template->render('error::404', Argument::type('array'))->willReturn('Templated contents');
     $handler = new TemplatedErrorHandler($template->reveal(), 'error::404', 'error::500');
     $expected = $this->getResponse($this->getStream());
     $stream = $this->getStream();
     $stream->getSize()->willReturn(100);
     $stream->write('Templated contents')->shouldBeCalled();
     $response = $this->getResponse($stream);
     $response->getStatusCode()->willReturn(200);
     $response->withStatus(404)->willReturn($expected->reveal());
     $handler->setOriginalResponse($response->reveal());
     $request = $this->getRequest($this->getStream());
     $request->getUri()->shouldBeCalled();
     $result = $handler($request->reveal(), $response->reveal());
     $this->assertSame($expected->reveal(), $result);
 }