/**
  * 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'));
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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);
     }
 }
Example #6
0
 /**
  * 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);
     }
 }
Example #7
0
 /**
  * @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());
         }
     }
 }
Example #8
0
 /**
  * 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();
 }
Example #9
0
 /**
  * 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);
 }
Example #10
0
 /**
  * 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;
 }
Example #11
0
 /**
  * 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;
 }
Example #12
0
 /**
  * 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;
 }
Example #13
0
 /**
  * @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()]);
 }
Example #16
0
 /**
  * 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);
 }
Example #17
0
 /**
  * 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;
 }
Example #18
0
 /**
  *
  * 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()));
 }
Example #20
0
 /**
  * @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;
 }
Example #21
0
 /**
  * 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());
 }
Example #22
0
 /**
  * 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);
 }