summaryrefslogtreecommitdiffstats
path: root/lib/private/connector/sabre/objecttree.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/connector/sabre/objecttree.php')
-rw-r--r--lib/private/connector/sabre/objecttree.php10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/private/connector/sabre/objecttree.php b/lib/private/connector/sabre/objecttree.php
index 54596db3c47..d7a96cfc88e 100644
--- a/lib/private/connector/sabre/objecttree.php
+++ b/lib/private/connector/sabre/objecttree.php
@@ -11,6 +11,8 @@ namespace OC\Connector\Sabre;
use OC\Files\FileInfo;
use OC\Files\Filesystem;
use OC\Files\Mount\MoveableMount;
+use OCP\Files\StorageInvalidException;
+use OCP\Files\StorageNotAvailableException;
class ObjectTree extends \Sabre\DAV\ObjectTree {
@@ -83,7 +85,13 @@ class ObjectTree extends \Sabre\DAV\ObjectTree {
}
} else {
// read from cache
- $info = $this->fileView->getFileInfo($path);
+ try {
+ $info = $this->fileView->getFileInfo($path);
+ } catch (StorageNotAvailableException $e) {
+ throw new \Sabre\DAV\Exception\ServiceUnavailable('Storage not available');
+ } catch (StorageInvalidException $e){
+ throw new \Sabre\DAV\Exception\NotFound('Storage ' . $path . ' is invalid');
+ }
}
if (!$info) {