Browse Source

handle locked exceptions when getting file/directory info in sabre

tags/v8.1RC2
Robin Appelman 9 years ago
parent
commit
24f0151f81

+ 6
- 1
lib/private/connector/sabre/directory.php View File

@@ -30,6 +30,7 @@ namespace OC\Connector\Sabre;
use OC\Connector\Sabre\Exception\InvalidPath;
use OC\Connector\Sabre\Exception\FileLocked;
use OCP\Lock\LockedException;
use Sabre\DAV\Exception\Locked;

class Directory extends \OC\Connector\Sabre\Node
implements \Sabre\DAV\ICollection, \Sabre\DAV\IQuota {
@@ -191,7 +192,11 @@ class Directory extends \OC\Connector\Sabre\Node
if (!is_null($this->dirContent)) {
return $this->dirContent;
}
$folderContent = $this->fileView->getDirectoryContent($this->path);
try {
$folderContent = $this->fileView->getDirectoryContent($this->path);
} catch (LockedException $e) {
throw new Locked();
}

$nodes = array();
foreach ($folderContent as $info) {

+ 2
- 0
lib/private/connector/sabre/objecttree.php View File

@@ -150,6 +150,8 @@ class ObjectTree extends \Sabre\DAV\Tree {
throw new \Sabre\DAV\Exception\ServiceUnavailable('Storage not available');
} catch (StorageInvalidException $e) {
throw new \Sabre\DAV\Exception\NotFound('Storage ' . $path . ' is invalid');
} catch (LockedException $e) {
throw new \Sabre\DAV\Exception\Locked();
}
}


Loading…
Cancel
Save