/**
  * Adds the rate limit headers to the response
  * @param Response $response
  * @param integer $limit the maximum number of allowed requests during a period
  * @param integer $remaining the remaining number of allowed requests within the current period
  * @param integer $reset the number of seconds to wait before having maximum number of allowed requests again
  */
 public function addHeaders(Response $response, $limit, $remaining, $reset)
 {
     if ($this->sendHeaders) {
         $response->getHeaders()->set('X-Rate-Limit-Limit', $limit)->set('X-Rate-Limit-Remaining', $remaining)->set('X-Rate-Limit-Reset', $reset);
         $response->setStatusCode(429);
     }
 }
Beispiel #2
0
 protected function convertResponse(ResponseInterface $psrResponse, Request $request)
 {
     $request->setContentType($psrResponse->getHeaderLine('Content-Type'));
     $this->response->request = $request;
     $this->response->version = $psrResponse->getProtocolVersion();
     $this->response->setStatusCode($psrResponse->getStatusCode(), $psrResponse->getReasonPhrase());
     foreach ($psrResponse->getHeaders() as $name => $value) {
         $this->response->getHeaders()->setDefault($name, $value);
     }
     $this->response->content = $psrResponse->getBody()->getContents();
     return $this->response;
 }
Beispiel #3
0
 /**
  * Run mode debug.
  *
  * @param Response $response
  * @return Run
  */
 protected static function debuger(Response $response = null)
 {
     $run = new Run();
     if (isset($response)) {
         switch ($response->format) {
             case Response::FORMAT_JSON:
                 $handler = new JsonResponseHandler();
                 break;
             case Response::FORMAT_XML:
                 $handler = new XmlResponseHandler();
                 break;
             default:
                 $request = new Request();
                 if ($request->isAjax() || $request->isCORS()) {
                     $handler = new JsonResponseHandler();
                 } else {
                     $handler = new PrettyPageHandler();
                 }
         }
         $run->setSendHttpCode(500);
         $response->setStatusCode(500);
         $response->send();
     } else {
         $handler = new PrettyPageHandler();
     }
     $run->pushHandler($handler);
     //$run->register();
     return $run;
 }