diff options
author | Joas Schilling <213943+nickvergessen@users.noreply.github.com> | 2024-09-18 20:28:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-18 20:28:37 +0200 |
commit | 6b8d331a71b1cd414408f8c6231da10d1dba7814 (patch) | |
tree | ce703beb0844986db58e19e357b22749351503c1 | |
parent | 1927bcda929ebba287e835fcab039963615600c1 (diff) | |
parent | e202896a7476f6c3ad74793e6524293fd8a93224 (diff) | |
download | nextcloud-server-6b8d331a71b1cd414408f8c6231da10d1dba7814.tar.gz nextcloud-server-6b8d331a71b1cd414408f8c6231da10d1dba7814.zip |
Merge pull request #48177 from nextcloud/artonge/fix/remove_unnecessary_formating
fix: Override start method of \Sabre\DAV\Server to remove exception o…
-rw-r--r-- | apps/dav/lib/Connector/Sabre/Server.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/dav/lib/Connector/Sabre/Server.php b/apps/dav/lib/Connector/Sabre/Server.php index b7ca8a0a1c0..610c79d5661 100644 --- a/apps/dav/lib/Connector/Sabre/Server.php +++ b/apps/dav/lib/Connector/Sabre/Server.php @@ -25,4 +25,27 @@ class Server extends \Sabre\DAV\Server { self::$exposeVersion = false; $this->enablePropfindDepthInfinity = true; } + + // Copied from 3rdparty/sabre/dav/lib/DAV/Server.php + // Should be them exact same without the exception output. + public function start(): void { + try { + // If nginx (pre-1.2) is used as a proxy server, and SabreDAV as an + // origin, we must make sure we send back HTTP/1.0 if this was + // requested. + // This is mainly because nginx doesn't support Chunked Transfer + // Encoding, and this forces the webserver SabreDAV is running on, + // to buffer entire responses to calculate Content-Length. + $this->httpResponse->setHTTPVersion($this->httpRequest->getHTTPVersion()); + + // Setting the base url + $this->httpRequest->setBaseUrl($this->getBaseUri()); + $this->invokeMethod($this->httpRequest, $this->httpResponse); + } catch (\Throwable $e) { + try { + $this->emit('exception', [$e]); + } catch (\Exception $ignore) { + } + } + } } |