/** * Serialize a response. * * @param \Illuminate\Http\Response $response * * @return string */ public function serialize(Response $response) { $content = $response->getContent(); $statusCode = $response->getStatusCode(); $headers = $response->headers; return serialize(compact('content', 'statusCode', 'headers')); }
/** * Render an exception into a response. * * @param \Illuminate\Http\Request $request * @param \Exception $exception * @return \Illuminate\Http\Response * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function render($request, Exception $exception) { $response = (new SymfonyExceptionHandler(env('APP_DEBUG', false)))->createResponse($exception); $response = new Response($response->getContent(), $response->getStatusCode(), $response->headers->all()); $response->exception = $exception; return $response; }
/** * Make an API response from an existing response object. * * @author Morten Rugaard <*****@*****.**> * * @param \Illuminate\Http\Response $old * @return \Nodes\Api\Http\Response */ public static function makeFromExisting(IlluminateResponse $old) { // Support for custom status code and message $statusCode = $old instanceof self ? $old->getStatusCodeAndMessage() : $old->getStatusCode(); // Generate API response from response object $new = static::create($old->getOriginalContent(), $statusCode); $new->headers = $old->headers; return $new; }
/** * Allow Lassy to save only valid html responses * * @param \Illuminate\Http\Response $response * @return boolean */ public function filter(Response $response) { if (200 !== $response->getStatusCode()) { return false; } if (false === strpos($response->headers->get('Content-Type'), 'text/html')) { return false; } return true; }
/** * Assert that a given page successfully loaded. * * @param string $uri * @param string|null $message * */ protected function assertPageLoaded($uri, $message = null) { $status = $this->response->getStatusCode(); try { $this->assertEquals(200, $status); } catch (PHPUnitException $e) { $message = $message ?: "A request to [{$uri}] failed. Received status code [{$status}]."; throw new HttpException($message, null, $this->response->exception); } }
/** * Return an ajax or prettify with whoops. * * @param Exception $e * @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Response $response * * @return mixed */ public function renderPretty(Exception $e, $request, $response) { if ($this->areYouAnAjax($request)) { $res = []; $res['status'] = 'error'; $res['message'] = empty($e->getMessage()) ? $response::$statusTexts[$response->getStatusCode()] : $e->getMessage(); $res['file'] = $e->getFile(); $res['line'] = $e->getLine(); $res['statusCode'] = $response->getStatusCode(); $res['statusText'] = $response::$statusTexts[$response->getStatusCode()]; $res['error'] = $res; return $response->setContent($res); } else { if (view()->exists('errors.' . $response->getStatusCode())) { return response()->view('errors.' . $response->getStatusCode(), compact('response')); } $whoops = (new Run())->pushHandler(new PrettyPageHandler()); return $whoops->handleException($e); } }
/** * @param Response $response */ public function setResponse(Response $response) { $this->response = $response; $statusCode = $this->response->getStatusCode(); if ($statusCode >= 300 && $this->debug_mode) { echo "\nResponse STATUS CODE is {$statusCode}:\n"; $responseData = $this->getResponseData(); if ($responseData) { $this->printArray($responseData); } else { $this->printLine($this->getResponse()); } } }
/** * Module after response hook. * * @param \Illuminate\Foundation\Application $app * @param \Illuminate\Http\Response $response * * @return void */ public function after(Application $app, $response) { $this->data['id'] = $app->make(Agent::class)->getKey(); $this->data['versions']['php'] = phpversion(); $this->data['versions']['laravel'] = Application::VERSION; $this->data['environment'] = $app->config->get('app.env'); $this->data['http']['path'] = $app->request->path(); $this->data['http']['method'] = $app->request->method(); $this->data['http']['status'] = $response->getStatusCode(); $this->data['time']['start'] = LARAVEL_START; $this->data['time']['end'] = microtime(true); $this->data['time']['total'] = microtime(true) - LARAVEL_START; $this->data['memory'] = memory_get_peak_usage(); }
/** * Create a new internal HTTP exception instance. * * @param \Illuminate\Http\Response $response * @param string $message * @param \Exception $previous * @param array $headers * @param int $code * * @return void */ public function __construct(Response $response, $message = null, Exception $previous = null, array $headers = [], $code = 0) { $this->response = $response; parent::__construct($response->getStatusCode(), $message, $previous, $headers, $code); }
/** * Map exception into an illuminate response. * * @param \Symfony\Component\HttpFoundation\Response $response * @param \Exception $e * @return \Illuminate\Http\Response */ protected function toIlluminateResponse($response, Exception $e) { $response = new Response($response->getContent(), $response->getStatusCode(), $response->headers->all()); $response->exception = $e; return $response; }
/** * Make an API response from an existing Illuminate response. * * @param \Illuminate\Http\Response $old * * @return \Dingo\Api\Http\Response */ public static function makeFromExisting(IlluminateResponse $old) { $new = static::create($old->getOriginalContent(), $old->getStatusCode()); $new->headers = $old->headers; return $new; }
/** * Determines whether the given request/response should be cached. * * @param \Illuminate\Http\Response $response * @return bool */ protected function shouldCache($request, $response) { return $request->isMethod('GET') && $response->getStatusCode() == 200; }
/** * @param \Symfony\Component\HttpFoundation\Response $response * @param \Exception $exception * * @return \Illuminate\Http\Response */ protected function toIlluminateResponse($response, Exception $exception) { if ($response instanceof SymfonyRedirectResponse) { $response = new RedirectResponse($response->getTargetUrl(), $response->getStatusCode(), $response->headers->all()); } else { $response = new Response($response->getContent(), $response->getStatusCode(), $response->headers->all()); } return $response->withException($exception); }
/** * Creates PSR 7 response object from Laravel response. * * @param Response $response * * @return ResponseInterface */ protected function createPsr7Response(Response $response) { return new PsrResponse($response->getStatusCode(), $response->headers->all(), $response->getContent(), $response->getProtocolVersion()); }
/** * Determine if we should update the status code, by request method. * * @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Response $response * @return bool */ protected function shouldUpdateStatus($request, Response $response) { return $response->getStatusCode() === 200 && isset($this->statuses[$request->getMethod()]); }
/** * Render an exception using Whoops. * * @param Response $view * @param Exception $e * @return Response */ protected function renderExceptionWithWhoops(Response $view, Exception $e) { $whoops = new \Whoops\Run(); $whoops->pushHandler(new PrettyPageHandler()); return new Response($whoops->handleException($e), $view->getStatusCode(), $view->headers); }
/** * Asserts that the status code of the response matches the given code. * * @param int $status * @return $this */ protected function seeStatusCode($status) { $this->assertEquals($status, $this->response->getStatusCode()); return $this; }
/** * * Cache the response * * @response final response * **/ public function write(Response $response = NULL) { //only cache 200 OK response, do not cache errors and 404, 500... if ($response->getStatusCode() == 200) { $content = $response->getContent(); $this->writeCache($content); } }
/** * Replace the content of the response, with the transformed content. * * @param \Illuminate\Http\Response $response * @return void */ protected function transformContent(Response $response) { $response->setContent($this->transformer->transform($response->getOriginalContent(), $response->getStatusCode())); }
/** * @param \React\Http\Request $request * @param \Illuminate\Http\Response $lumenResponse * * @param $requestStartTime * * @return string */ private function getLogEntry($request, $lumenResponse, $requestStartTime) { $out = ' ' . $lumenResponse->getStatusCode() . ' | '; $totalTime = number_format((microtime(true) - $requestStartTime) * 1000, 1) . ' ms'; $out .= str_pad($totalTime, 12, ' ', STR_PAD_LEFT); $out .= ' | ' . $request->getMethod() . ' | ' . $request->getPath() . PHP_EOL; return $out; }
/** * Make an API response from an existing Illuminate response. * * @param \Illuminate\Http\Response $response * @return \Dingo\Api\Http\Response */ public static function makeFromExisting(IlluminateResponse $response) { return new static($response->getOriginalContent(), $response->getStatusCode(), $response->headers->all()); }
/** * Assert that the client response has a given code. * * @param int $code * @return $this */ public function assertResponseStatus($code) { $actual = $this->response->getStatusCode(); PHPUnit::assertEquals($code, $this->response->getStatusCode(), "Expected status code {$code}, got {$actual}."); return $this; }
protected function makeMessageFromResponse(Response $response) { $message['original_content'] = $response->getOriginalContent(); $message['content'] = $response->getContent(); $message['status_code'] = $response->getStatusCode(); return json_encode($message, JSON_PRETTY_PRINT); }