This commit is contained in:
2021-09-10 11:09:33 +08:00
parent efbf2075f4
commit 16ad6757d4
3 changed files with 31 additions and 29 deletions
+27
View File
@@ -3,6 +3,7 @@
namespace Protocol\Message;
use JetBrains\PhpStorm\Pure;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\StreamInterface;
@@ -30,6 +31,13 @@ trait Message
protected array $headers = [];
/**
* @var array|null
*/
protected ?array $cookieParams = [];
/**
* @return string
*/
@@ -172,6 +180,25 @@ trait Message
}
/**
* @return null|array
*/
public function getCookieParams(): ?array
{
return $this->cookieParams;
}
/**
* @param array|null $cookies
* @return static
*/
public function withCookieParams(?array $cookies): static
{
$this->cookieParams = $cookies;
return $this;
}
/**
* @return StreamInterface
*/
+2 -27
View File
@@ -26,11 +26,6 @@ class ServerRequest extends Request implements ServerRequestInterface
protected ?array $serverParams;
/**
* @var array|null
*/
protected ?array $cookieParams = [];
/**
* @var array|null
*/
@@ -103,26 +98,6 @@ class ServerRequest extends Request implements ServerRequestInterface
}
/**
* @return null|array
*/
public function getCookieParams(): ?array
{
return $this->cookieParams;
}
/**
* @param array|null $cookies
* @return $this|ServerRequest
*/
public function withCookieParams(?array $cookies): ServerRequestInterface
{
$this->cookieParams = $cookies;
return $this;
}
/**
* @return array|null
*/
@@ -134,7 +109,7 @@ class ServerRequest extends Request implements ServerRequestInterface
/**
* @param array $query
* @return \Psr\Http\Message\ServerRequestInterface
* @return ServerRequestInterface
*/
public function withQueryParams(array $query): ServerRequestInterface
{
@@ -154,7 +129,7 @@ class ServerRequest extends Request implements ServerRequestInterface
/**
* @param array $uploadedFiles
* @return \Psr\Http\Message\ServerRequestInterface
* @return ServerRequestInterface
*/
public function withUploadedFiles(array $uploadedFiles): ServerRequestInterface
{
+2 -2
View File
@@ -33,8 +33,8 @@ class ResponseEmitter implements Emitter
$response->header($name, implode(';', $values));
}
}
if (is_array($this->request->getCookieParams())) {
foreach ($this->request->getCookieParams() as $name => $cookie) {
if (is_array($emitter->getCookieParams())) {
foreach ($emitter->getCookieParams() as $name => $cookie) {
$response->cookie($name, ...$cookie);
}
}