catch specific file exceptions and convert them to proper http status code via webdav

This commit is contained in:
Thomas Müller 2013-10-08 15:04:31 +02:00
parent 7c6ed6ab33
commit caa27824a9
1 changed files with 12 additions and 5 deletions

View File

@ -87,14 +87,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) {
throw new OC_Connector_Sabre_Exception_EntityTooLarge();
// the file is too big to be stored
throw new OC_Connector_Sabre_Exception_EntityTooLarge($e->getMessage());
} catch (\OCP\Files\InvalidContentException $e) {
throw new OC_Connector_Sabre_Exception_UnsupportedMediaType();
// the file content is not permitted
throw new OC_Connector_Sabre_Exception_UnsupportedMediaType($e->getMessage());
} catch (\OCP\Files\InvalidPathException $e) {
// TODO: add specific exception here
throw new Sabre_DAV_Exception_Forbidden();
// 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