diff options
Diffstat (limited to 'apps/dav/lib/server.php')
-rw-r--r-- | apps/dav/lib/server.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/apps/dav/lib/server.php b/apps/dav/lib/server.php index 0c25890b662..f5f1875a480 100644 --- a/apps/dav/lib/server.php +++ b/apps/dav/lib/server.php @@ -110,10 +110,15 @@ class Server { // Serve all files with an Content-Disposition of type "attachment" $this->server->on('beforeMethod', function (RequestInterface $requestInterface, ResponseInterface $responseInterface) { - $node = $this->server->tree->getNodeForPath($requestInterface->getPath()); - if (($node instanceof IFile)) { - $responseInterface->addHeader('Content-Disposition', 'attachment'); + if ($requestInterface->getMethod() === 'GET') { + $path = $requestInterface->getPath(); + if ($this->server->tree->nodeExists($path)) { + $node = $this->server->tree->getNodeForPath($path); + if (($node instanceof IFile)) { + $responseInterface->addHeader('Content-Disposition', 'attachment'); + } } + } }); // wait with registering these until auth is handled and the filesystem is setup |