Scalr\Api\Rest\Http\Response::finalize PHP Method

finalize() public method

Prepares response to be sent
public finalize ( ) : array
return array Returns array looks like array(status, headers, body)
    public function finalize()
    {
        $contentType = $this->getContentType();
        if (!empty($contentType)) {
            $this->setHeader("content-type", $contentType);
        }
        if (in_array($this->status, array(204, 304))) {
            $this->removeHeader('content-type')->removeHeader('content-length')->setBody('');
        }
        return [$this->status, $this->headers, $this->body];
    }

Usage Example

Beispiel #1
0
 /**
  * Logs failed requests data
  *
  * @param   Request     $request    API request data
  * @param   Response    $response   API response data
  */
 public function logError(Request $request, Response $response)
 {
     if ($this->enabled && !empty($this->writer)) {
         try {
             $time = time();
             $status = $response->getStatus();
             $data = ["tag" => $this->defaultTag, "dateTime" => $time, "message" => $status, "extra" => ['request' => ['remote_ip' => $request->getIp(), 'method' => $request->getMethod(), 'url' => $request->getUrl() . $request->getPath(), 'headers' => $request->headers(), 'body' => $request->getBody()], 'response' => $response->finalize(), 'tags' => [$this->defaultTag, $status], 'time' => $time], "type" => "ApiLog"];
             $this->writer->send($data);
         } catch (Exception $e) {
             \Scalr::logException(new Exception(sprintf("Api logger could not save the record: %s", $e->getMessage()), $e->getCode(), $e));
         }
     }
 }
All Usage Examples Of Scalr\Api\Rest\Http\Response::finalize