diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-10-11 10:35:17 -0700 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-10-11 10:35:17 -0700 |
commit | dc58195c7faff0285e9d4dea038331411d49dd1c (patch) | |
tree | 0a0bd49dc04b53f5e4e4e3e65e761419607692db /lib/private/connector/sabre/file.php | |
parent | 067475a9071753d018f48cb42cb78d5baa13f0fc (diff) | |
parent | 3f27fefdbe1342701161bf0949dd719f34dab76d (diff) | |
download | nextcloud-server-dc58195c7faff0285e9d4dea038331411d49dd1c.tar.gz nextcloud-server-dc58195c7faff0285e9d4dea038331411d49dd1c.zip |
Merge pull request #5207 from owncloud/fixing-4011-part2-master
[OC6] file upload exception handling
Diffstat (limited to 'lib/private/connector/sabre/file.php')
-rw-r--r-- | lib/private/connector/sabre/file.php | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php index 037dba7f37b..667f7407f75 100644 --- a/lib/private/connector/sabre/file.php +++ b/lib/private/connector/sabre/file.php @@ -98,7 +98,21 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D throw new Sabre_DAV_Exception(); } } catch (\OCP\Files\NotPermittedException $e) { - throw new Sabre_DAV_Exception_Forbidden(); + // a more general case - due to whatever reason the content could not be written + throw new Sabre_DAV_Exception_Forbidden($e->getMessage()); + + } catch (\OCP\Files\EntityTooLargeException $e) { + // the file is too big to be stored + throw new OC_Connector_Sabre_Exception_EntityTooLarge($e->getMessage()); + + } catch (\OCP\Files\InvalidContentException $e) { + // the file content is not permitted + throw new OC_Connector_Sabre_Exception_UnsupportedMediaType($e->getMessage()); + + } catch (\OCP\Files\InvalidPathException $e) { + // the path for the file was not valid + // TODO: find proper http status code for this case + throw new Sabre_DAV_Exception_Forbidden($e->getMessage()); } // rename to correct path |