变更
This commit is contained in:
@@ -14,6 +14,7 @@ class ConstrictResponse extends Message implements ResponseInterface
|
|||||||
|
|
||||||
|
|
||||||
private string $reasonPhrase;
|
private string $reasonPhrase;
|
||||||
|
private array $cookieParams;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,6 +89,28 @@ class ConstrictResponse extends Message implements ResponseInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $cookies
|
||||||
|
* @return ResponseInterface
|
||||||
|
*/
|
||||||
|
public function withCookieParams(array $cookies): static
|
||||||
|
{
|
||||||
|
$this->cookieParams = $cookies;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getCookieParams(): array
|
||||||
|
{
|
||||||
|
return $this->cookieParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param object $response
|
* @param object $response
|
||||||
* @return void
|
* @return void
|
||||||
|
|||||||
@@ -41,10 +41,7 @@ class HttpResponseEmitter implements ResponseEmitter
|
|||||||
foreach ($resp->getHeaders() as $name => $header) {
|
foreach ($resp->getHeaders() as $name => $header) {
|
||||||
$response->header($name, implode(', ', $header));
|
$response->header($name, implode(', ', $header));
|
||||||
}
|
}
|
||||||
|
foreach ($resp->getCookieParams() as $cookie) {
|
||||||
/** @var Request $request */
|
|
||||||
$request = \Kiri::service()->get('request');
|
|
||||||
foreach ($request->getCookieParams() as $cookie) {
|
|
||||||
$response->setCookie(...$cookie);
|
$response->setCookie(...$cookie);
|
||||||
}
|
}
|
||||||
$response->header('Server', 'swoole');
|
$response->header('Server', 'swoole');
|
||||||
|
|||||||
@@ -45,6 +45,25 @@ class Response implements ResponseInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $cookies
|
||||||
|
* @return ResponseInterface
|
||||||
|
*/
|
||||||
|
public function withCookieParams(array $cookies): ResponseInterface
|
||||||
|
{
|
||||||
|
return $this->__call__(__FUNCTION__, $cookies);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getCookieParams(): array
|
||||||
|
{
|
||||||
|
return $this->__call__(__FUNCTION__);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the HTTP protocol version as a string.
|
* Retrieves the HTTP protocol version as a string.
|
||||||
*
|
*
|
||||||
|
|||||||
+5
-2
@@ -109,14 +109,17 @@ class Server implements OnRequestInterface
|
|||||||
/** @var \Kiri\Router\Response $response */
|
/** @var \Kiri\Router\Response $response */
|
||||||
$response = Kiri::service()->get('response');
|
$response = Kiri::service()->get('response');
|
||||||
|
|
||||||
|
|
||||||
|
$cookie = $request->cookie ?? [];
|
||||||
|
|
||||||
/** @var ConstrictResponse $PsrResponse */
|
/** @var ConstrictResponse $PsrResponse */
|
||||||
$PsrResponse = Context::set(ResponseInterface::class, new ConstrictResponse());
|
$PsrResponse = Context::set(ResponseInterface::class, new ConstrictResponse());
|
||||||
$PsrResponse->withContentType($response->contentType);
|
$PsrResponse->withContentType($response->contentType)->withCookieParams($cookie);
|
||||||
|
|
||||||
$serverRequest = (new ConstrictRequest())->withDataHeaders($request->getData())
|
$serverRequest = (new ConstrictRequest())->withDataHeaders($request->getData())
|
||||||
->withUri(Uri::parse($request))
|
->withUri(Uri::parse($request))
|
||||||
->withProtocolVersion($request->server['server_protocol'])
|
->withProtocolVersion($request->server['server_protocol'])
|
||||||
->withCookieParams($request->cookie ?? [])
|
->withCookieParams($cookie)
|
||||||
->withQueryParams($request->get ?? [])
|
->withQueryParams($request->get ?? [])
|
||||||
->withUploadedFiles($request->files ?? [])
|
->withUploadedFiles($request->files ?? [])
|
||||||
->withMethod($request->getMethod())
|
->withMethod($request->getMethod())
|
||||||
|
|||||||
Reference in New Issue
Block a user