Skip to content

Commit dfa4a82

Browse files
committed
Throw original exception if debug is enabled.
1 parent 1102f8f commit dfa4a82

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Middleware/GlideMiddleware.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use ADmad\Glide\Exception\ResponseException;
77
use ADmad\Glide\Exception\SignatureException;
88
use ADmad\Glide\Response\PsrResponseFactory;
9+
use Cake\Core\Configure;
910
use Cake\Core\InstanceConfigTrait;
1011
use Cake\Event\EventDispatcherInterface;
1112
use Cake\Event\EventDispatcherTrait;
@@ -342,6 +343,10 @@ protected function _handleException(ServerRequestInterface $request, $exception)
342343
return $result;
343344
}
344345

346+
if (Configure::read('debug')) {
347+
throw $exception;
348+
}
349+
345350
throw new ResponseException(null, null, $exception);
346351
}
347352
}

tests/TestCase/Middleware/GlideMiddlewareTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
use ADmad\Glide\Exception\ResponseException;
77
use ADmad\Glide\Exception\SignatureException;
88
use ADmad\Glide\Middleware\GlideMiddleware;
9+
use Cake\Core\Configure;
910
use Cake\Event\EventManager;
1011
use Cake\Http\Response;
1112
use Cake\Http\ServerRequestFactory;
1213
use Cake\TestSuite\TestCase;
1314
use Cake\Utility\Security;
15+
use League\Flysystem\UnableToRetrieveMetadata;
1416
use League\Glide\ServerFactory;
1517
use League\Glide\Signatures\Signature;
1618
use TestApp\Http\TestRequestHandler;
@@ -180,15 +182,28 @@ public function testSignatureException()
180182
$middleware->process($request, $this->handler);
181183
}
182184

185+
public function test3rdPartyException()
186+
{
187+
$middleware = new GlideMiddleware($this->config);
188+
$request = ServerRequestFactory::fromGlobals([
189+
'REQUEST_URI' => '/images/non-existent.jpg',
190+
]);
191+
192+
$this->expectException(UnableToRetrieveMetadata::class);
193+
$middleware->process($request, $this->handler);
194+
}
195+
183196
public function testResponseException()
184197
{
185198
$middleware = new GlideMiddleware($this->config);
186199
$request = ServerRequestFactory::fromGlobals([
187200
'REQUEST_URI' => '/images/non-existent.jpg',
188201
]);
189202

203+
Configure::write('debug', false);
190204
$this->expectException(ResponseException::class);
191205
$middleware->process($request, $this->handler);
206+
Configure::write('debug', true);
192207
}
193208

194209
public function testExceptionEventListener()

0 commit comments

Comments
 (0)