Completed
Push — master ( 723741...e2f01d )
by smiley
02:37
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\Middleware
8
 * @author       smiley <[email protected]>
9
 * @copyright    2019 smiley
10
 * @license      MIT
11
 */
12
13
namespace chillerlan\HTTP\Psr15\Middleware;
14
15
use Psr\Http\Message\{ResponseInterface, ServerRequestInterface};
16
use Psr\Http\Server\{MiddlewareInterface, RequestHandlerInterface};
17
18
class PriorityMiddleware implements PriorityMiddlewareInterface{
19
20
	/**
21
	 * @var \Psr\Http\Server\MiddlewareInterface
22
	 */
23
	protected $middleware;
24
25
	/**
26
	 * @var int
27
	 */
28
	protected $priority;
29
30
	/**
31
	 * PriorityMiddleware constructor.
32
	 *
33
	 * @param \Psr\Http\Server\MiddlewareInterface $middleware
34
	 * @param int|null                             $priority
35
	 */
36
	public function __construct(MiddlewareInterface $middleware, int $priority = null){
37
		$this->middleware = $middleware;
38
		$this->priority   = $priority ?? PHP_INT_MIN;
39
	}
40
41
	/**
42
	 * @inheritDoc
43
	 */
44
	public function process(ServerRequestInterface $request, RequestHandlerInterface $handler):ResponseInterface{
45
		return $this->middleware->process($request, $handler);
46
	}
47
48
	/**
49
	 * @inheritDoc
50
	 */
51
	public function getPriority():int{
52
		return $this->priority;
53
	}
54
55
}
56