From b031c379e6d6870df2d5615d151be00ebbc82f45 Mon Sep 17 00:00:00 2001 From: Janett Salzmann Date: Thu, 28 Mar 2024 09:31:51 +0100 Subject: [PATCH] TASK: Use server request globals when active request handler doesn't exist Addresses #234 --- Classes/Service/UsageDetailsService.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Classes/Service/UsageDetailsService.php b/Classes/Service/UsageDetailsService.php index 4a09e0436..73cfb1d4a 100644 --- a/Classes/Service/UsageDetailsService.php +++ b/Classes/Service/UsageDetailsService.php @@ -29,6 +29,7 @@ use Neos\Flow\Core\Bootstrap; use Neos\Flow\Exception as FlowException; use Neos\Flow\Http\Exception as HttpException; +use Neos\Flow\Http\HttpRequestHandlerInterface; use Neos\Flow\I18n\Translator; use Neos\Flow\Mvc\ActionRequest; use Neos\Flow\Mvc\Routing\Exception\MissingActionNameException; @@ -333,7 +334,14 @@ protected function usageIsAccessible(string $workspaceName): bool */ protected function buildNodeUri(?Site $site, NodeInterface $node): string { - $serverRequest = $this->bootstrap->getActiveRequestHandler()->getHttpRequest(); + $requestHandler = $this->bootstrap->getActiveRequestHandler(); + + if ($requestHandler instanceof HttpRequestHandlerInterface) { + $serverRequest = $requestHandler->getHttpRequest(); + } else { + $serverRequest = ServerRequest::fromGlobals(); + } + $domain = $site ? $site->getPrimaryDomain() : null; // Build the URI with the correct scheme and hostname for the node in the given site