This commit is contained in:
as2252258@163.com
2021-08-28 02:20:54 +08:00
parent 5e32d9a020
commit 7954d31728
2 changed files with 13 additions and 7 deletions
+4 -7
View File
@@ -4,7 +4,6 @@ namespace Server\Constrict;
use Annotation\Inject; use Annotation\Inject;
use Exception; use Exception;
use Http\Context\Formatter\FileFormatter;
use Kiri\Exception\NotFindClassException; use Kiri\Exception\NotFindClassException;
use ReflectionException; use ReflectionException;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
@@ -34,17 +33,15 @@ class ResponseEmitter implements Emitter
*/ */
public function sender(mixed $response, ResponseInterface $emitter): void public function sender(mixed $response, ResponseInterface $emitter): void
{ {
if (!empty($this->headers) && is_array($this->headers)) { if (!empty($emitter->getHeaders()) && is_array($emitter->getHeaders())) {
foreach ($this->headers as $name => $values) { foreach ($emitter->getHeaders() as $name => $values) {
$response->header($name, implode(';', $values)); $response->header($name, implode(';', $values));
} }
$this->headers = [];
} }
if (!empty($this->cookies) && is_array($this->cookies)) { if (!empty($emitter->getCookies()) && is_array($emitter->getCookies())) {
foreach ($this->cookies as $name => $cookie) { foreach ($emitter->getCookies() as $name => $cookie) {
$response->cookie($name, ...$cookie); $response->cookie($name, ...$cookie);
} }
$this->cookies = [];
} }
$response->setStatusCode($emitter->getStatusCode()); $response->setStatusCode($emitter->getStatusCode());
$response->header('Run-Time', time()); $response->header('Run-Time', time());
+9
View File
@@ -110,6 +110,15 @@ trait Message
return $this->headers; return $this->headers;
} }
/**
* @return array
*/
public function getCookies(): array
{
return $this->cookies;
}
/** /**
* @param $name * @param $name
* @return bool * @return bool