aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2024-09-18 17:09:49 +0200
committerLouis <louis@chmn.me>2024-09-18 17:53:43 +0200
commite202896a7476f6c3ad74793e6524293fd8a93224 (patch)
tree32afdc2206f51355304db850b4abc3b57fd38047 /apps/dav/lib
parent33928fc671b8ae80c809dcf2f0353c432776979d (diff)
downloadnextcloud-server-e202896a7476f6c3ad74793e6524293fd8a93224.tar.gz
nextcloud-server-e202896a7476f6c3ad74793e6524293fd8a93224.zip
fix: Override start method of \Sabre\DAV\Server to remove exception outputartonge/fix/remove_unnecessary_formating
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'apps/dav/lib')
-rw-r--r--apps/dav/lib/Connector/Sabre/Server.php23
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) {
+ }
+ }
+ }
}