|
4 | 4 |
|
5 | 5 | namespace HttpSoft\Request; |
6 | 6 |
|
7 | | -use HttpSoft\Uri\Uri; |
8 | | -use HttpSoft\Uri\UriData; |
| 7 | +use HttpSoft\Uri\UriFactory; |
9 | 8 | use Psr\Http\Message\UriInterface; |
10 | 9 |
|
11 | 10 | use function array_key_exists; |
12 | | -use function explode; |
13 | | -use function in_array; |
14 | 11 | use function is_string; |
15 | | -use function preg_replace; |
16 | 12 | use function strpos; |
17 | 13 | use function str_replace; |
18 | 14 | use function strtolower; |
@@ -50,33 +46,7 @@ public function normalizeProtocolVersion(array $server): string |
50 | 46 | */ |
51 | 47 | public function normalizeUri(array $server): UriInterface |
52 | 48 | { |
53 | | - $uriData = new UriData(); |
54 | | - |
55 | | - if (isset($server['HTTPS']) && in_array(strtolower((string) $server['HTTPS']), ['on', '1'])) { |
56 | | - $uriData->setScheme(UriData::SCHEMES[UriData::SECURE_PORT]); |
57 | | - } elseif ($scheme = $server['HTTP_X_FORWARDED_PROTO'] ?? $server['REQUEST_SCHEME'] ?? UriData::EMPTY_STRING) { |
58 | | - $uriData->setScheme((string) $scheme); |
59 | | - } |
60 | | - |
61 | | - if ($host = $server['HTTP_X_FORWARDED_HOST'] ?? $server['HTTP_HOST'] ?? UriData::EMPTY_STRING) { |
62 | | - $uriData->setHost((string) $host); |
63 | | - } elseif ($host = $server['SERVER_NAME'] ?? $server['SERVER_ADDR'] ?? UriData::EMPTY_STRING) { |
64 | | - $uriData->setHost((string) $host); |
65 | | - } |
66 | | - |
67 | | - if (($port = $server['SERVER_PORT'] ?? null) && (strpos($uriData->getHost(), ':') === false)) { |
68 | | - $uriData->setPort((int) $port); |
69 | | - } |
70 | | - |
71 | | - if ($path = $server['REQUEST_URI'] ?? $server['ORIG_PATH_INFO'] ?? UriData::EMPTY_STRING) { |
72 | | - $uriData->setPath(explode('?', preg_replace('/^[^\/:]+:\/\/[^\/]+/', '', (string) $path), 2)[0]); |
73 | | - } |
74 | | - |
75 | | - if ($query = $server['QUERY_STRING'] ?? UriData::EMPTY_STRING) { |
76 | | - $uriData->setQuery((string) $query); |
77 | | - } |
78 | | - |
79 | | - return new Uri($uriData->__toString()); |
| 49 | + return UriFactory::createFromServer($server); |
80 | 50 | } |
81 | 51 |
|
82 | 52 | /** |
|
0 commit comments