From ac29f27b1790e12b5ce50a6953714879b8f79630 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 10 Mar 2021 17:22:31 +0100 Subject: [PATCH] cache baseurl in url generator Servers don't tend to change their url in the middle of a request Signed-off-by: Robin Appelman --- lib/private/URLGenerator.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php index f0de31568f..6c68f5d805 100644 --- a/lib/private/URLGenerator.php +++ b/lib/private/URLGenerator.php @@ -59,6 +59,8 @@ class URLGenerator implements IURLGenerator { private $request; /** @var Router */ private $router; + /** @var null|string */ + private $baseUrl = null; public function __construct(IConfig $config, ICacheFactory $cacheFactory, @@ -269,6 +271,9 @@ class URLGenerator implements IURLGenerator { * @return string base url of the current request */ public function getBaseUrl(): string { - return $this->request->getServerProtocol() . '://' . $this->request->getServerHost() . \OC::$WEBROOT; + if ($this->baseUrl === null) { + $this->baseUrl = $this->request->getServerProtocol() . '://' . $this->request->getServerHost() . \OC::$WEBROOT; + } + return $this->baseUrl; } }