1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Http\Message; |
4: | |
5: | use Psr\Http\Message\MessageInterface as PsrMessageInterface; |
6: | use Psr\Http\Message\RequestInterface as PsrRequestInterface; |
7: | |
8: | |
9: | |
10: | |
11: | |
12: | |
13: | class Request extends AbstractRequest |
14: | { |
15: | |
16: | |
17: | |
18: | final public function __construct( |
19: | string $method, |
20: | $uri, |
21: | $body = null, |
22: | $headers = null, |
23: | ?string $requestTarget = null, |
24: | string $version = '1.1' |
25: | ) { |
26: | parent::__construct($method, $uri, $body, $headers, $requestTarget, $version); |
27: | } |
28: | |
29: | |
30: | |
31: | |
32: | public static function fromPsr7(PsrMessageInterface $message): Request |
33: | { |
34: | return $message instanceof static |
35: | ? $message |
36: | : new static( |
37: | $message->getMethod(), |
38: | $message->getUri(), |
39: | $message->getBody(), |
40: | $message->getHeaders(), |
41: | $message->getRequestTarget(), |
42: | $message->getProtocolVersion(), |
43: | ); |
44: | } |
45: | } |
46: | |