diff --git a/http-server/Constrict/ResponseEmitter.php b/http-server/Constrict/ResponseEmitter.php index 337eb07f..aafb4625 100644 --- a/http-server/Constrict/ResponseEmitter.php +++ b/http-server/Constrict/ResponseEmitter.php @@ -4,7 +4,6 @@ namespace Server\Constrict; use Annotation\Inject; use Exception; -use Http\Context\Formatter\FileFormatter; use Kiri\Exception\NotFindClassException; use ReflectionException; use Psr\Http\Message\ResponseInterface; @@ -34,17 +33,15 @@ class ResponseEmitter implements Emitter */ public function sender(mixed $response, ResponseInterface $emitter): void { - if (!empty($this->headers) && is_array($this->headers)) { - foreach ($this->headers as $name => $values) { + if (!empty($emitter->getHeaders()) && is_array($emitter->getHeaders())) { + foreach ($emitter->getHeaders() as $name => $values) { $response->header($name, implode(';', $values)); } - $this->headers = []; } - if (!empty($this->cookies) && is_array($this->cookies)) { - foreach ($this->cookies as $name => $cookie) { + if (!empty($emitter->getCookies()) && is_array($emitter->getCookies())) { + foreach ($emitter->getCookies() as $name => $cookie) { $response->cookie($name, ...$cookie); } - $this->cookies = []; } $response->setStatusCode($emitter->getStatusCode()); $response->header('Run-Time', time()); diff --git a/http-server/Message/Message.php b/http-server/Message/Message.php index 6b7ccf52..d0cc783c 100644 --- a/http-server/Message/Message.php +++ b/http-server/Message/Message.php @@ -110,6 +110,15 @@ trait Message return $this->headers; } + + /** + * @return array + */ + public function getCookies(): array + { + return $this->cookies; + } + /** * @param $name * @return bool