Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
CRAP | |
55.56% |
5 / 9 |
RequestContext | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
7.19 | |
55.56% |
5 / 9 |
fromRequestStack | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
fromRequest | |
0.00% |
0 / 1 |
2.06 | |
75.00% |
3 / 4 |
|||
getCompleteBaseUrl | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
setCompleteBaseUrl | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Routing\RequestContext. | |
*/ | |
namespace Drupal\Core\Routing; | |
use Symfony\Component\HttpFoundation\Request; | |
use Symfony\Component\HttpFoundation\RequestStack; | |
use Symfony\Component\Routing\RequestContext as SymfonyRequestContext; | |
/** | |
* Holds information about the current request. | |
* | |
* @todo: Remove once the upstream RequestContext provides fromRequestStack(): | |
* https://github.com/symfony/symfony/issues/12057 | |
*/ | |
class RequestContext extends SymfonyRequestContext { | |
/** | |
* The scheme, host and base path, for example "http://example.com/d8". | |
* | |
* @var string | |
*/ | |
protected $completeBaseUrl; | |
/** | |
* Populates the context from the current request from the request stack. | |
* | |
* @param \Symfony\Component\HttpFoundation\RequestStack $request_stack | |
* The current request stack. | |
*/ | |
public function fromRequestStack(RequestStack $request_stack) { | |
$this->fromRequest($request_stack->getCurrentRequest()); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function fromRequest(Request $request) { | |
parent::fromRequest($request); | |
// @todo Extract the code in DrupalKernel::initializeRequestGlobals. | |
// See https://www.drupal.org/node/2404601 | |
if (isset($GLOBALS['base_url'])) { | |
$this->setCompleteBaseUrl($GLOBALS['base_url']); | |
} | |
} | |
/** | |
* Gets the scheme, host and base path. | |
* | |
* For example, in an installation in a subdirectory "d8", it should be | |
* "https://example.com/d8". | |
*/ | |
public function getCompleteBaseUrl() { | |
return $this->completeBaseUrl; | |
} | |
/** | |
* Sets the complete base URL for the Request context. | |
* | |
* @param string $complete_base_url | |
* The complete base URL. | |
*/ | |
public function setCompleteBaseUrl($complete_base_url) { | |
$this->completeBaseUrl = $complete_base_url; | |
} | |
} |