Exemple #1
0
 /**
  * Debugbar middleware invokable class
  *
  * @param  \Psr\Http\Message\ServerRequestInterface $request
  * @param  \Psr\Http\Message\ResponseInterface $response
  * @param  callable $next
  *
  * @return ResponseInterface
  */
 public function __invoke($request, $response, $next)
 {
     try {
         $response = $next($request, $response);
     } catch (Exception $e) {
         $this->debugbar->addException($e);
         // Handle the given exception
         $response = $this->error->__invoke($request, $response, $e);
     }
     // Modify the response to add the Debugbar
     $this->debugbar->modifyResponse($response);
     return $response;
 }
 public function __invoke(RequestInterface $request, ResponseInterface $response, \Exception $exception)
 {
     if ($exception instanceof InvalidArgumentException) {
         return $this->getBadRequestResponse($request, $response, $exception);
     } elseif ($exception instanceof NotFoundException) {
         return $this->getNotFoundResponse($request, $response, $exception);
     }
     return parent::__invoke($request, $response, $exception);
 }
 /**
  * Test invalid method returns the correct code and content type
  *
  * @dataProvider errorProvider
  */
 public function testError($contentType, $startOfBody)
 {
     $notAllowed = new Error();
     $e = new \Exception("Oops");
     /** @var Response $res */
     $res = $notAllowed->__invoke($this->getRequest('GET', $contentType), new Response(), $e);
     $this->assertSame(500, $res->getStatusCode());
     $this->assertSame($contentType, $res->getHeaderLine('Content-Type'));
     $this->assertEquals(0, strpos((string) $res->getBody(), $startOfBody));
 }
 public function __invoke(Request $request, Response $response, \Exception $exception)
 {
     // Log the message
     $this->logger->critical($exception->getMessage());
     return parent::__invoke($request, $response, $exception);
 }
 /**
  * {inheritdoc}
  */
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response, Exception $exception)
 {
     $this->logger->critical($exception->getMessage(), [$request->getMethod() => (string) $request->getUri()]);
     return parent::__invoke($request, $response, $exception);
 }