MaintenanceMode.php 647 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace KarmaFW\App\Middlewares;
  3. use \KarmaFW\App\Request;
  4. use \KarmaFW\App\Response;
  5. use \KarmaFW\App\ResponseError;
  6. class MaintenanceMode
  7. {
  8. protected $maintenance_active = true;
  9. public function __construct($active=true)
  10. {
  11. $this->maintenance_active = $active;
  12. }
  13. public function __invoke(Request $request, Response $response, callable $next)
  14. {
  15. if (! $this->maintenance_active) {
  16. return $next($request, $response);
  17. }
  18. $content = '<html><head><title>Service en maintenance</title><head><body><h1>Service en maintenance</h1></body></html>';
  19. $response = new ResponseError(503, $content);
  20. return $response;
  21. }
  22. }