From 4531b4a81da81c8f1b6eb49b2669fa93088e33d9 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 13 Mar 2017 12:13:57 +0100 Subject: [PATCH] only execute code if exception was thrown by the corresponding controller Signed-off-by: Bjoern Schiessle --- apps/federation/lib/Middleware/AddServerMiddleware.php | 4 ++++ .../federation/tests/Middleware/AddServerMiddlewareTest.php | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/federation/lib/Middleware/AddServerMiddleware.php b/apps/federation/lib/Middleware/AddServerMiddleware.php index d920aee3e4..71e517f6b8 100644 --- a/apps/federation/lib/Middleware/AddServerMiddleware.php +++ b/apps/federation/lib/Middleware/AddServerMiddleware.php @@ -25,6 +25,7 @@ namespace OCA\Federation\Middleware; use OC\HintException; +use OCA\Federation\Controller\SettingsController; use OCP\AppFramework\Http; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Middleware; @@ -57,6 +58,9 @@ class AddServerMiddleware extends Middleware { * @return JSONResponse */ public function afterException($controller, $methodName, \Exception $exception) { + if (($controller instanceof SettingsController) === false) { + throw $exception; + } $this->logger->error($exception->getMessage(), ['app' => $this->appName]); if ($exception instanceof HintException) { $message = $exception->getHint(); diff --git a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php index b2096cb373..6c502c66f5 100644 --- a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php +++ b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php @@ -26,8 +26,8 @@ namespace OCA\Federation\Tests\Middleware; use OC\HintException; +use OCA\Federation\Controller\SettingsController; use OCA\Federation\Middleware\AddServerMiddleware; -use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\IL10N; use OCP\ILogger; @@ -44,7 +44,7 @@ class AddServerMiddlewareTest extends TestCase { /** @var AddServerMiddleware */ private $middleware; - /** @var \PHPUnit_Framework_MockObject_MockObject | Controller */ + /** @var \PHPUnit_Framework_MockObject_MockObject | SettingsController */ private $controller; public function setUp() { @@ -52,7 +52,7 @@ class AddServerMiddlewareTest extends TestCase { $this->logger = $this->getMockBuilder(ILogger::class)->getMock(); $this->l10n = $this->getMockBuilder(IL10N::class)->getMock(); - $this->controller = $this->getMockBuilder(Controller::class) + $this->controller = $this->getMockBuilder(SettingsController::class) ->disableOriginalConstructor()->getMock(); $this->middleware = new AddServerMiddleware(