throwThrowableMiddleware($exception); } public function getNotFoundDecorator(\League\Route\Http\Exception\NotFoundException $exception): \Psr\Http\Server\MiddlewareInterface { return $this->throwThrowableMiddleware($exception); } public function getThrowableHandler(): \Psr\Http\Server\MiddlewareInterface { return new class implements \Psr\Http\Server\MiddlewareInterface { public function process( \Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler ): \Psr\Http\Message\ResponseInterface { try { return $handler->handle($request); } catch (Throwable $e) { throw $e; } } }; } public function invokeRouteCallable( Route $route, \Psr\Http\Message\ServerRequestInterface $request, ): \Psr\Http\Message\ResponseInterface { $controller = $route->getCallable($this->getContainer()); $response = $controller($request, $route->getVars()); return $this->decorateResponse($response); } protected function throwThrowableMiddleware(Throwable $error): \Psr\Http\Server\MiddlewareInterface { return new class ($error) implements \Psr\Http\Server\MiddlewareInterface { protected $error; public function __construct(Throwable $error) { $this->error = $error; } public function process( \Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler ): \Psr\Http\Message\ResponseInterface { throw $this->error; } }; } } __halt_compiler();----SIGNATURE:----Ch7fHvMf5HyTTvg+B2sudBhRNnLa83lESOllrDH8eocXUYrV0GXp03pzWW4lS/PI/xAw+u/FKtVnHkZ1PDnMSihMY+dFy7JRtAQYnlbu4vK7hVCxYvTRBy5pVmfcuWqGW8HwkKbbdnxJZ70UFP0Wt/5NvrNeE49jmwdFYo6tZcTZZRKnvN7C48s4MnFMu1k/Vg7SlLE5tO7r2BPvuN/9sReJt7I/YgrIXv7DLUUyp5DO252Pbyl8/TqryeuoIwG1bQaqmvYrhRG7/t0sUcagRMARQXeqfFbvcWU4G7qJe4cv/6Si5wGbrLpBjGNUSPHum95kEbVSRI0BmoL2ox6HAjs2kc5c47RA+cVSbdjtxMUrv4Lm7Wr4+HZSQoN014NZjD5so8710k1/SedCXV7sYCafMGRAj/IXqT4qWRoA877e8R8rnEBL9wySrlsIJJCo9k/zji1sXEEGPk8CJjY+NvvqSlo07sBemXPj38TfYdsvwgHpyDAcyidOpkkJTuL2tc0orf76btJLwGdv0qu+v9g6QNVfgAZz3GBRs3yvycFVpjZpFUX+eE+3fo/rorX8+i/vjvU1tWAam2KlzAjZEP1iawhLT3lXkZIc0LL38ZCZkAlooxVHlA1nf5ITSpGgdj3ueauJR32zk+v260wlWBRWZkFS1vXqfjXULOZS7HM=----ATTACHMENT:----ODk5NDgxOTk5OTY2MTI1NSAyMTQzMDYzNDA3NDQ4Njc5IDc2ODAzNjYzNjM2NjQ3OTY=