Since: 5.4.0 (09.02.2015)
Author: Vitaliy Demidov (vitaliy@scalr.com)
Exemple #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));
         }
     }
 }
Exemple #2
0
 /**
  * Logs failed requests data
  *
  * @param   Request     $request    API request data
  * @param   Response    $response   API response data
  *
  * @return array   Returns array of the fields to log
  */
 protected function handlerApiError(Request $request, Response $response)
 {
     $data = ['.request.method' => $request->getMethod(), '.request.url' => $request->getUrl() . $request->getPath(), '.request.headers' => $request->headers(), '.request.body' => $request->getBody(), '.response.status' => $response->getStatus(), '.response.headers' => $response->getHeaders(), '.response.body' => $response->getBody()];
     return $data;
 }
Exemple #3
0
 /**
  * Add allowed method for the route
  *
  * @param    string     $method   The HTTP method
  * @return   Route      Returns current route instance
  */
 public function addMethod($method)
 {
     if (!Request::hasMethod($method)) {
         throw new \InvalidArgumentException(sprintf("HTTP method '%s' is not accepted for the Request.", $method));
     }
     $this->defaults['methods'] = array_merge($this->defaults['methods'], [$method]);
     return $this;
 }