/** * 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); }