summaryrefslogtreecommitdiffstats
path: root/src/Router/Middleware/ErrorHandler.php
diff options
context:
space:
mode:
authorArnold Daniels <arnold@jasny.net>2016-11-03 23:45:36 +0100
committerGitHub <noreply@github.com>2016-11-03 23:45:36 +0100
commitf3d05dfca77843a869e938028824f19307780939 (patch)
tree846c5e559360e530d200d897f67b5af02f8795e5 /src/Router/Middleware/ErrorHandler.php
parentaa31c40618b0cc7b43b7a1cb107e97b49e2c06f1 (diff)
parentbd4cb77fbf04923fa31a08fdd1f33f2c0db87864 (diff)
downloadrouter-1.0.0.zip
router-1.0.0.tar.gz
router-1.0.0.tar.bz2
Merge pull request #13 from jasny/fix-testsv1.0.0
Fix tests
Diffstat (limited to 'src/Router/Middleware/ErrorHandler.php')
-rw-r--r--src/Router/Middleware/ErrorHandler.php54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/Router/Middleware/ErrorHandler.php b/src/Router/Middleware/ErrorHandler.php
deleted file mode 100644
index 789c455..0000000
--- a/src/Router/Middleware/ErrorHandler.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace Jasny\Router\Middleware;
-
-use Psr\Http\Message\ServerRequestInterface;
-use Psr\Http\Message\ResponseInterface;
-
-/**
- * Handle error in following middlewares/app actions
- */
-class ErrorHandler
-{
- /**
- * Run middleware action
- *
- * @param ServerRequestInterface $request
- * @param ResponseInterface $response
- * @param callback $next
- * @return ResponseInterface
- */
- public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $next = null)
- {
- if ($next && !is_callable($next)) {
- throw new \InvalidArgumentException("'next' should be a callback");
- }
-
- $error = false;
-
- try {
- $response = $next ? call_user_func($next, $request, $response) : $response;
- } catch(\Throwable $e) {
- $error = true;
- } catch(\Exception $e) { #This block can be removed when migrating to PHP7, because Throwable represents both Exception and Error
- $error = true;
- }
-
- return $error ? $this->handleError($response) : $response;
- }
-
- /**
- * Handle caught error
- *
- * @param ResponseInterface $response
- * @return ResponseInterface
- */
- protected function handleError($response)
- {
- $body = $response->getBody();
- $body->rewind();
- $body->write('Unexpected error');
-
- return $response->withStatus(500, 'Internal Server Error')->withBody($body);
- }
-}