* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Asset\Context; use Symfony\Component\HttpFoundation\RequestStack; /** * Uses a RequestStack to populate the context. * * @author Fabien Potencier */ class RequestStackContext implements ContextInterface { private $requestStack; private string $basePath; private bool $secure; public function __construct(RequestStack $requestStack, string $basePath = '', bool $secure = false) { $this->requestStack = $requestStack; $this->basePath = $basePath; $this->secure = $secure; } /** * {@inheritdoc} */ public function getBasePath(): string { if (!$request = $this->requestStack->getMainRequest()) { return $this->basePath; } return $request->getBasePath(); } /** * {@inheritdoc} */ public function isSecure(): bool { if (!$request = $this->requestStack->getMainRequest()) { return $this->secure; } return $request->isSecure(); } }