You are here

protected function WebTestBase::drupalGetHeaders in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/simpletest/src/WebTestBase.php \Drupal\simpletest\WebTestBase::drupalGetHeaders()

Gets the HTTP response headers of the requested page.

Normally we are only interested in the headers returned by the last request. However, if a page is redirected or HTTP authentication is in use, multiple requests will be required to retrieve the page. Headers from all requests may be requested by passing TRUE to this function.

Parameters

$all_requests: Boolean value specifying whether to return headers from all requests instead of just the last request. Defaults to FALSE.

Return value

A name/value array if headers from only the last request are requested. If headers from all requests are requested, an array of name/value arrays, one for each request.

The pseudonym ":status" is used for the HTTP status line.

Values for duplicate headers are stored as a single comma-separated list.

6 calls to WebTestBase::drupalGetHeaders()
RESTTestBase::httpRequest in core/modules/rest/src/Tests/RESTTestBase.php
Helper function to issue a HTTP request with simpletest's cURL.
RouterTest::testFinishResponseSubscriber in core/modules/system/src/Tests/Routing/RouterTest.php
Confirms that our FinishResponseSubscriber logic works properly.
SimpleTestBrowserTest::testInternalBrowser in core/modules/simpletest/src/Tests/SimpleTestBrowserTest.php
Test the internal browsers functionality.
StyleSerializerTest::testResponseFormatConfiguration in core/modules/rest/src/Tests/Views/StyleSerializerTest.php
Tests the response format configuration.
StyleSerializerTest::testSerializerResponses in core/modules/rest/src/Tests/Views/StyleSerializerTest.php
Checks the behavior of the Serializer callback paths and row plugins.

... See full list

File

core/modules/simpletest/src/WebTestBase.php, line 2561
Contains \Drupal\simpletest\WebTestBase.

Class

WebTestBase
Test case for typical Drupal tests.

Namespace

Drupal\simpletest

Code

protected function drupalGetHeaders($all_requests = FALSE) {
  $request = 0;
  $headers = array(
    $request => array(),
  );
  foreach ($this->headers as $header) {
    $header = trim($header);
    if ($header === '') {
      $request++;
    }
    else {
      if (strpos($header, 'HTTP/') === 0) {
        $name = ':status';
        $value = $header;
      }
      else {
        list($name, $value) = explode(':', $header, 2);
        $name = strtolower($name);
      }
      if (isset($headers[$request][$name])) {
        $headers[$request][$name] .= ',' . trim($value);
      }
      else {
        $headers[$request][$name] = trim($value);
      }
    }
  }
  if (!$all_requests) {
    $headers = array_pop($headers);
  }
  return $headers;
}