|
5 | 5 | use Psr\Http\Message\ServerRequestInterface; |
6 | 6 | use Psr\Http\Message\UploadedFileInterface; |
7 | 7 | use Swoft\Http\Message\Server\Concerns\InteractsWithInput; |
8 | | -use Swoft\Http\Message\Uri\Uri; |
9 | 8 | use Swoft\Http\Message\Stream\SwooleStream; |
10 | 9 | use Swoft\Http\Message\Upload\UploadedFile; |
| 10 | +use Swoft\Http\Message\Uri\Uri; |
11 | 11 |
|
12 | 12 | /** |
13 | 13 | * @uses Request |
@@ -48,7 +48,7 @@ class Request extends \Swoft\Http\Message\Base\Request implements ServerRequestI |
48 | 48 | /** |
49 | 49 | * @var array |
50 | 50 | */ |
51 | | - private $serverParams; |
| 51 | + private $serverParams = []; |
52 | 52 |
|
53 | 53 | /** |
54 | 54 | * @var array |
@@ -79,6 +79,7 @@ public static function loadFromSwooleRequest(\Swoole\Http\Request $swooleRequest |
79 | 79 | $request = new static($method, $uri, $headers, $body, $protocol); |
80 | 80 | return $request->withCookieParams($swooleRequest->cookie ?? []) |
81 | 81 | ->withQueryParams($swooleRequest->get ?? []) |
| 82 | + ->withServerParams($server ?? []) |
82 | 83 | ->withParsedBody($swooleRequest->post ?? []) |
83 | 84 | ->withUploadedFiles(self::normalizeFiles($swooleRequest->files ?? [])) |
84 | 85 | ->setSwooleRequest($swooleRequest); |
@@ -228,6 +229,19 @@ public function getServerParams() |
228 | 229 | return $this->serverParams; |
229 | 230 | } |
230 | 231 |
|
| 232 | + /** |
| 233 | + * Return an instance with the specified server params. |
| 234 | + * |
| 235 | + * @param array $serverParams |
| 236 | + * @return static |
| 237 | + */ |
| 238 | + public function withServerParams(array $serverParams) |
| 239 | + { |
| 240 | + $clone = clone $this; |
| 241 | + $clone->serverParams = $serverParams; |
| 242 | + return $clone; |
| 243 | + } |
| 244 | + |
231 | 245 | /** |
232 | 246 | * Retrieve cookies. |
233 | 247 | * Retrieves cookies sent by the client to the server. |
|
0 commit comments