setHeaders() публичный Метод

Replaces all possibly existing HTTP headers with the ones specified
public setHeaders ( Headers $headers ) : void
$headers Headers
Результат void
 /**
  * Just return the processed value
  *
  * @return mixed
  */
 public function evaluate()
 {
     $httpResponse = new Response();
     $httpResponse->setStatus($this->getStatusCode());
     $httpResponse->setHeaders(new Headers());
     foreach ($this->getHeaders() as $name => $value) {
         $httpResponse->setHeader($name, $value);
     }
     return implode("\r\n", $httpResponse->renderHeaders()) . "\r\n\r\n";
 }
Пример #2
0
 /**
  * @param Request $httpRequest
  * @param RedirectInterface $redirect
  * @return Response|null
  */
 protected function buildResponse(Request $httpRequest, RedirectInterface $redirect)
 {
     if (headers_sent() === true && FLOW_SAPITYPE !== 'CLI') {
         return null;
     }
     $response = new Response();
     $statusCode = $redirect->getStatusCode();
     $response->setStatus($statusCode);
     if ($statusCode >= 300 && $statusCode <= 399) {
         $location = $redirect->getTargetUriPath();
         if (parse_url($location, PHP_URL_SCHEME) === null) {
             $location = $httpRequest->getBaseUri() . $location;
         }
         $response->setHeaders(new Headers(['Location' => $location, 'Cache-Control' => 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'Expires' => 'Sat, 26 Jul 1997 05:00:00 GMT']));
     } elseif ($statusCode >= 400 && $statusCode <= 599) {
         $exception = new Exception();
         $exception->setStatusCode($statusCode);
         throw $exception;
     }
     return $response;
 }