Finish.php 957 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace demo\Middleware;
  3. use Silex\Application;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. /**
  7. * Finish middleware is invoked after the response has been sent.
  8. *
  9. * @package demo\Middleware
  10. */
  11. class Finish {
  12. /**
  13. * Arguments for finish() middleware are fixed, unlike those of controllers.
  14. *
  15. * @param \Symfony\Component\HttpFoundation\Request $request
  16. * @param \Symfony\Component\HttpFoundation\Response $response
  17. * @param \Silex\Application $app
  18. */
  19. public static function handle(Request $request, Response $response, Application $app) {
  20. /** @var \Psr\Log\LoggerInterface $logger */
  21. $logger = $app['logger'];
  22. $path = $request->getPathInfo();
  23. $type = get_class($response);
  24. $status = $response->getStatusCode();
  25. // Use a warning to avoid being filtered out by the default Monolog config.
  26. $logger->info("Returned a $status $type on $path");
  27. }
  28. }