Ver Fonte

Adding exception handler to Application (#5142)

vka há 6 anos atrás
pai
commit
4fd3c714f0
1 ficheiros alterados com 12 adições e 0 exclusões
  1. 12 0
      frameworks/PHP/hamlet/Benchmark/Application.php

+ 12 - 0
frameworks/PHP/hamlet/Benchmark/Application.php

@@ -14,7 +14,10 @@ use Hamlet\Http\Applications\AbstractApplication;
 use Hamlet\Http\Requests\Request;
 use Hamlet\Http\Resources\HttpResource;
 use Hamlet\Http\Resources\NotFoundResource;
+use Hamlet\Http\Responses\Response;
+use Hamlet\Http\Responses\ServerErrorResponse;
 use Psr\Cache\CacheItemPoolInterface;
+use Throwable;
 
 class Application extends AbstractApplication
 {
@@ -49,6 +52,15 @@ class Application extends AbstractApplication
         $this->updateResource    = new UpdateResource($database);
     }
 
+    public function run(Request $request): Response
+    {
+        try {
+            return parent::run($request);
+        } catch (Throwable $e) {
+            return new ServerErrorResponse();
+        }
+    }
+
     public function findResource(Request $request): HttpResource
     {
         switch ($request->getPath()) {