*/ class MaintenanceDisplayer implements DisplayerInterface { /** * The view factory instance. * * @var \Illuminate\Contracts\View\Factory */ protected $view; /** * Create a new maintenance displayer instance. * * @param \Illuminate\Contracts\View\Factory $view * * @return void */ public function __construct(Factory $view) { $this->view = $view; } /** * Get the error response associated with the given exception. * * @param \Exception $exception * @param string $id * @param int $code * @param string[] $headers * * @return \Symfony\Component\HttpFoundation\Response */ public function display(Exception $exception, string $id, int $code, array $headers) { return new Response($this->render(), $code, array_merge($headers, ['Content-Type' => $this->contentType()])); } /** * Render the page. * * @return string */ protected function render() { return $this->view->make('errors.maintenance')->render(); } /** * Get the supported content type. * * @return string */ public function contentType() { return 'text/html'; } /** * Can we display the exception? * * @param \Exception $original * @param \Exception $transformed * @param int $code * * @return bool */ public function canDisplay(Exception $original, Exception $transformed, int $code) { return $transformed instanceof MaintenanceModeException; } /** * Do we provide verbose information about the exception? * * @return bool */ public function isVerbose() { return false; } }