cache baseurl in url generator

Servers don't tend to change their url in the middle of a request

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2021-03-10 17:22:31 +01:00 committed by backportbot[bot]
parent ae6c5f2af4
commit a1935d0f74
1 changed files with 6 additions and 1 deletions

View File

@ -59,6 +59,8 @@ class URLGenerator implements IURLGenerator {
private $request;
/** @var IRouter*/
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;
}
}