From 9d6d23d1f7f4cd8255e61c190afc507f1fe1bac6 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 7 Feb 2018 13:34:30 +0100 Subject: [PATCH] keep previous exception when transforming to dav exception Signed-off-by: Robin Appelman --- apps/dav/lib/Connector/Sabre/Directory.php | 6 +++--- apps/dav/lib/Connector/Sabre/Exception/InvalidPath.php | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php index 6fe9d26614..a7b8ea1755 100644 --- a/apps/dav/lib/Connector/Sabre/Directory.php +++ b/apps/dav/lib/Connector/Sabre/Directory.php @@ -150,11 +150,11 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node $node->acquireLock(ILockingProvider::LOCK_SHARED); return $node->put($data); } catch (\OCP\Files\StorageNotAvailableException $e) { - throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage()); + throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage(), $e->getCode(), $e); } catch (InvalidPathException $ex) { - throw new InvalidPath($ex->getMessage()); + throw new InvalidPath($ex->getMessage(), false, $ex); } catch (ForbiddenException $ex) { - throw new Forbidden($ex->getMessage(), $ex->getRetry()); + throw new Forbidden($ex->getMessage(), $ex->getRetry(), $ex); } catch (LockedException $e) { throw new FileLocked($e->getMessage(), $e->getCode(), $e); } diff --git a/apps/dav/lib/Connector/Sabre/Exception/InvalidPath.php b/apps/dav/lib/Connector/Sabre/Exception/InvalidPath.php index 9d60b22761..346e21adc9 100644 --- a/apps/dav/lib/Connector/Sabre/Exception/InvalidPath.php +++ b/apps/dav/lib/Connector/Sabre/Exception/InvalidPath.php @@ -36,9 +36,10 @@ class InvalidPath extends Exception { /** * @param string $message * @param bool $retry + * @param \Exception|null $previous */ - public function __construct($message, $retry = false) { - parent::__construct($message); + public function __construct($message, $retry = false, \Exception $previous = null) { + parent::__construct($message, 0, $previous); $this->retry = $retry; }