pjax() || $response->isRedirection() || Admin::guard()->guest()) { return $response; } if (!$response->isSuccessful()) { return $this->handleErrorResponse($response); } try { $this->setUriHeader($response, $request); } catch (\Exception $exception) { } return $response; } /** * Send a response through this middleware. * * @param Response $response */ public static function respond(Response $response) { $next = function () use ($response) { return $response; }; (new static())->handle(Request::capture(), $next)->send(); exit; } /** * Handle Response with exceptions. * * @param Response $response * * @return \Illuminate\Http\RedirectResponse */ protected function handleErrorResponse(Response $response) { if (config('app.debug')) { throw $response->exception; } $exception = $response->exception; $error = new MessageBag([ 'type' => get_class($exception), 'message' => $exception->getMessage(), 'file' => $exception->getFile(), 'line' => $exception->getLine(), ]); return back()->withInput()->withErrors($error, 'exception'); } /** * Prepare the PJAX-specific response content. * * @param Response $response * @param string $container * * @return $this */ protected function filterResponse(Response $response, $container) { $crawler = new Crawler($response->getContent()); $response->setContent( $this->makeTitle($crawler). $this->fetchContents($crawler, $container) ); return $this; } /** * Prepare an HTML title tag. * * @param Crawler $crawler * * @return string */ protected function makeTitle($crawler) { $pageTitle = $crawler->filter('head > title')->html(); return "