summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-08-15 14:46:22 +0200
committerMorris Jobke <hey@morrisjobke.de>2017-08-15 15:03:39 +0200
commitfc12bd0be6efcf79a92d28a2f8e813bb6eb7c48e (patch)
treef1050e0a879005d513aad323a26f9b25b94849b7 /apps/dav
parentcf7c4a4439da66055db5b43f9d6bc6e4671aa3e4 (diff)
downloadnextcloud-server-fc12bd0be6efcf79a92d28a2f8e813bb6eb7c48e.tar.gz
nextcloud-server-fc12bd0be6efcf79a92d28a2f8e813bb6eb7c48e.zip
Do not log WebDAV maintenance mode exception
Log the maintenance mode exception only in debug level. Fixes #6124 Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php10
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php3
2 files changed, 10 insertions, 3 deletions
diff --git a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
index dce2f9c45e4..ca2195fc65a 100644
--- a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
@@ -28,8 +28,7 @@
namespace OCA\DAV\Connector\Sabre;
use OCP\ILogger;
-use Sabre\DAV\Exception;
-use Sabre\HTTP\Response;
+use Sabre\DAV\Exception\ServiceUnavailable;
class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
protected $nonFatalExceptions = [
@@ -90,7 +89,12 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
public function logException(\Exception $ex) {
$exceptionClass = get_class($ex);
$level = \OCP\Util::FATAL;
- if (isset($this->nonFatalExceptions[$exceptionClass])) {
+ if (isset($this->nonFatalExceptions[$exceptionClass]) ||
+ (
+ $exceptionClass === ServiceUnavailable::class &&
+ $ex->getMessage() === 'System in maintenance mode.'
+ )
+ ) {
$level = \OCP\Util::DEBUG;
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
index 85ede2ad681..83a51ddd86b 100644
--- a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
@@ -28,6 +28,7 @@ use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin as PluginToTest;
use OC\Log;
use PHPUnit_Framework_MockObject_MockObject;
use Sabre\DAV\Exception\NotFound;
+use Sabre\DAV\Exception\ServiceUnavailable;
use Sabre\DAV\Server;
use Test\TestCase;
@@ -77,6 +78,8 @@ class ExceptionLoggerPluginTest extends TestCase {
public function providesExceptions() {
return [
[0, '', new NotFound()],
+ [0, 'System in maintenance mode.', new ServiceUnavailable('System in maintenance mode.')],
+ [4, 'Upgrade needed', new ServiceUnavailable('Upgrade needed')],
[4, 'This path leads to nowhere', new InvalidPath('This path leads to nowhere')]
];
}