You are here

protected function AmpHtmlResponseAttachmentsProcessor::setHeaders in Accelerated Mobile Pages (AMP) 8

Sets headers on a response object.

Parameters

\Drupal\Core\Render\HtmlResponse $response: The HTML response to update.

array $headers: The headers to set, as an array. The items in this array should be as follows:

  • The header name.
  • The header value.
  • (optional) Whether to replace a current value with the new one, or add it to the others. If the value is not replaced, it will be appended, resulting in a header like this: 'Header: value1,value2'
1 call to AmpHtmlResponseAttachmentsProcessor::setHeaders()
AmpHtmlResponseAttachmentsProcessor::processAttachments in src/Render/AmpHtmlResponseAttachmentsProcessor.php
Processes the attachments of a response that has attachments.

File

src/Render/AmpHtmlResponseAttachmentsProcessor.php, line 381
Contains \Drupal\amp\Render\AmpHtmlResponseAttachmentsProcessor.

Class

AmpHtmlResponseAttachmentsProcessor
Processes attachments of AMP HTML responses.

Namespace

Drupal\amp\Render

Code

protected function setHeaders(HtmlResponse $response, array $headers) {
  foreach ($headers as $values) {
    $name = $values[0];
    $value = $values[1];
    $replace = !empty($values[2]);

    // Drupal treats the HTTP response status code like a header, even though
    // it really is not.
    if (strtolower($name) === 'status') {
      $response
        ->setStatusCode($value);
    }
    else {
      $response->headers
        ->set($name, $value, $replace);
    }
  }
}