Completed
Push — master ( 03f6a6...3bcdeb )
by smiley
02:53
created

PriorityMiddleware::getPriority()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Class PriorityMiddleware
4
 *
5
 * @filesource   PriorityMiddleware.php
6
 * @created      10.03.2019
7
 * @package      chillerlan\HTTP\Psr15
8
 * @author       smiley <[email protected]>
9
 * @copyright    2019 smiley
10
 * @license      MIT
11
 */
12
13
namespace chillerlan\HTTP\Psr15;
14
15
use Psr\Http\Message\{ResponseInterface, ServerRequestInterface};
16
use Psr\Http\Server\{MiddlewareInterface, RequestHandlerInterface};
17
18
use const PHP_INT_MIN;
19
20
class PriorityMiddleware implements PriorityMiddlewareInterface{
21
22
	/**
23
	 * @var \Psr\Http\Server\MiddlewareInterface
24
	 */
25
	protected $middleware;
26
27
	/**
28
	 * @var int
29
	 */
30
	protected $priority;
31
32
	/**
33
	 * PriorityMiddleware constructor.
34
	 *
35
	 * @param \Psr\Http\Server\MiddlewareInterface $middleware
36
	 * @param int|null                             $priority
37
	 */
38
	public function __construct(MiddlewareInterface $middleware, int $priority = null){
39
		$this->middleware = $middleware;
40
		$this->priority   = $priority ?? PHP_INT_MIN;
41
	}
42
43
	/**
44
	 * @inheritDoc
45
	 */
46
	public function process(ServerRequestInterface $request, RequestHandlerInterface $handler):ResponseInterface{
47
		return $this->middleware->process($request, $handler);
48
	}
49
50
	/**
51
	 * @inheritDoc
52
	 */
53
	public function getPriority():int{
54
		return $this->priority;
55
	}
56
57
}
58