This commit is contained in:
2023-04-23 14:09:04 +08:00
parent 2576d84860
commit af0f5abb50
2 changed files with 25 additions and 20 deletions
-19
View File
@@ -387,23 +387,4 @@ class Uri implements UriInterface
return $this->scheme . '://x.x.x.x:' . $this->port . '/' . $this->path . '?' . $this->queryString;
}
/**
* @param \Swoole\Http\Request $request
* @return UriInterface
*/
public static function parse(\Swoole\Http\Request $request): UriInterface
{
$uri = new static();
$uri->queryString = $request->server['query_string'] ?? '';
$uri->path = $request->server['path_info'];
$uri->port = $request->server['server_port'];
if (isset($request->server['https']) && $request->server['https'] !== 'off') {
$uri->scheme = 'https';
} else {
$uri->scheme = 'http';
}
return $uri;
}
}
+25 -1
View File
@@ -15,6 +15,7 @@ use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
use Swoole\Http\Request;
use Kiri\Di\Inject\Service;
use Swoole\Http\Response;
@@ -120,7 +121,7 @@ class Server implements OnRequestInterface
$PsrResponse->withContentType($this->response->contentType);
$serverRequest = (new ConstrictRequest())->withDataHeaders($request->getData())
->withUri(Uri::parse($request))
->withUri(static::parse($request))
->withProtocolVersion($request->server['server_protocol'])
->withCookieParams($request->cookie ?? [])
->withQueryParams($request->get ?? [])
@@ -133,4 +134,27 @@ class Server implements OnRequestInterface
}
/**
* @param Request $request
* @return UriInterface
*/
public static function parse(Request $request): UriInterface
{
$uri = new Uri();
$uri->withQuery($request->server['query_string'] ?? '')
->withPath($request->server['path_info'])
->withPort($request->server['server_port']);
if (isset($request->server['https']) && $request->server['https'] !== 'off') {
$uri->withScheme('https');
} else {
$uri->withScheme('http');
}
return $uri;
}
}