HttpException::process()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
c 0
b 0
f 0
rs 9.4285
cc 2
eloc 6
nc 2
nop 2
1
<?php
2
3
namespace Nofw\Foundation\Http\Middleware;
4
5
use Interop\Http\Factory\ResponseFactoryInterface;
6
use Interop\Http\ServerMiddleware\DelegateInterface;
7
use Interop\Http\ServerMiddleware\MiddlewareInterface;
8
use Nofw\Foundation\Http\Exception;
9
use Psr\Http\Message\ResponseInterface;
10
use Psr\Http\Message\ServerRequestInterface;
11
12
/**
13
 * @author Márk Sági-Kazár <[email protected]>
14
 */
15
final class HttpException implements MiddlewareInterface
16
{
17
    /**
18
     * @var ResponseFactoryInterface
19
     */
20
    private $responseFactory;
21
22
    public function __construct(ResponseFactoryInterface $responseFactory)
23
    {
24
        $this->responseFactory = $responseFactory;
25
    }
26
27
    public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface
28
    {
29
        try {
30
            $response = $delegate->process($request);
31
        } catch (Exception $e) {
32
            return $this->responseFactory->createResponse($e->getStatusCode());
33
        }
34
35
        return $response;
36
    }
37
}
38