function SessionHttpsTest::getPathFromLocationHeader
Same name in other branches
- 8.9.x core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php \Drupal\Tests\system\Functional\Session\SessionHttpsTest::getPathFromLocationHeader()
- 10 core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php \Drupal\Tests\system\Functional\Session\SessionHttpsTest::getPathFromLocationHeader()
- 11.x core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php \Drupal\Tests\system\Functional\Session\SessionHttpsTest::getPathFromLocationHeader()
Extracts internal path from the location header on the response.
Parameters
\Psr\Http\Message\ResponseInterface $response: The response from logging in.
bool $https: Whether the log in was via HTTPS. Defaults to FALSE.
Return value
string The internal path from the location header on the response.
2 calls to SessionHttpsTest::getPathFromLocationHeader()
- SessionHttpsTest::loginHttp in core/
modules/ system/ tests/ src/ Functional/ Session/ SessionHttpsTest.php - Log in a user via HTTP.
- SessionHttpsTest::loginHttps in core/
modules/ system/ tests/ src/ Functional/ Session/ SessionHttpsTest.php - Log in a user via HTTPS.
File
-
core/
modules/ system/ tests/ src/ Functional/ Session/ SessionHttpsTest.php, line 233
Class
- SessionHttpsTest
- Ensure that when running under HTTPS two session cookies are generated.
Namespace
Drupal\Tests\system\Functional\SessionCode
protected function getPathFromLocationHeader(ResponseInterface $response, $https = FALSE) {
if ($https) {
$base_url = str_replace('http://', 'https://', $this->baseUrl);
}
else {
$base_url = str_replace('https://', 'http://', $this->baseUrl);
}
// The mock front controllers (http.php and https.php) add the script name
// to $_SERVER['REQUEST_URI'] and friends. Therefore it is necessary to
// strip that also.
$base_url .= '/index.php/';
// Extract relative path from location header.
$this->assertSame(303, $response->getStatusCode());
$location = $response->getHeader('location')[0];
$this->assertStringStartsWith($base_url, $location, 'Location header contains expected base URL');
return substr($location, strlen($base_url));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.