From 41c26fab93f25af02d10058a7e4377f8a7eccca9 Mon Sep 17 00:00:00 2001 From: Karsten Dambekalns Date: Thu, 13 Feb 2025 08:31:31 +0100 Subject: [PATCH] Get `flowBaseUri` value only if in use Fixes #50 --- Classes/GcsTarget.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Classes/GcsTarget.php b/Classes/GcsTarget.php index e109c9a..6fc37b2 100644 --- a/Classes/GcsTarget.php +++ b/Classes/GcsTarget.php @@ -574,13 +574,15 @@ public function getPublicPersistentResourceUri(PersistentResource $resource): st '{fileExtension}' => $resource->getFileExtension() ]; + if (str_contains($customUri, '{flowBaseUri}')) { + $variables['{flowBaseUri}'] = (string)$this->baseUriProvider->getConfiguredBaseUriOrFallbackToCurrentRequest(); + } + if (method_exists($resource, 'getMd5')) { $variables['{md5}'] = $resource->getMd5(); } - foreach ($variables as $placeholder => $replacement) { - $customUri = str_replace($placeholder, $replacement, $customUri); - } + $customUri = str_replace(array_keys($variables), array_values($variables), $customUri); if ($this->persistentResourceUriEnableSigning) { $objectName = $this->keyPrefix . $resource->getSha1();