summaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/server.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/server.php')
-rw-r--r--apps/dav/lib/server.php11
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