handle locked exceptions when getting file/directory info in sabre

This commit is contained in:
Robin Appelman 2015-06-16 14:37:41 +02:00
parent a89bb1d383
commit 24f0151f81
2 changed files with 8 additions and 1 deletions

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) {

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();
}
}