From 926cbea0b99cb1a756e20d6bc63284fb627fb436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Mon, 21 Jul 2025 17:26:51 +0800 Subject: [PATCH] eee --- src/Base/Controller.php | 8 -------- src/Constrict/ConstrictResponse.php | 12 ------------ src/OnRequest.php | 15 +++++++++++++++ src/Response.php | 7 +++++++ 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/Base/Controller.php b/src/Base/Controller.php index 947c191..988ac18 100644 --- a/src/Base/Controller.php +++ b/src/Base/Controller.php @@ -49,12 +49,4 @@ class Controller extends Kiri\Abstracts\Component public ContainerInterface $container; - /** - * @param Request $request - * @return true - */ - public function beforeAction(RequestInterface $request): bool - { - return true; - } } diff --git a/src/Constrict/ConstrictResponse.php b/src/Constrict/ConstrictResponse.php index 515898f..c6e9a89 100644 --- a/src/Constrict/ConstrictResponse.php +++ b/src/Constrict/ConstrictResponse.php @@ -7,7 +7,6 @@ use Kiri\Core\Help; use Kiri\Router\ContentType; use Kiri\Router\StreamResponse; use Psr\Http\Message\ResponseInterface; -use Swoole\Http\Response; class ConstrictResponse extends Message implements ResponseInterface @@ -20,18 +19,11 @@ class ConstrictResponse extends Message implements ResponseInterface private string $reasonPhrase; - /** - * @var array|mixed - */ - public array $headers = []; - - /** * @param ContentType|null $contentType */ public function __construct(?ContentType $contentType = null) { - $this->headers = \config('response.headers', $this->headers); if ($contentType != null) { $this->withHeader('Content-Type', $contentType->toString()); } @@ -215,10 +207,6 @@ class ConstrictResponse extends Message implements ResponseInterface */ public function end(object $response): void { - /** @var Response $response */ - if (count($this->headers) > 0) foreach ($this->headers as $key => $header) { - $response->header($key, $header); - } $response->end($this->stream->getContents()); } } diff --git a/src/OnRequest.php b/src/OnRequest.php index fc46e1a..c47b444 100644 --- a/src/OnRequest.php +++ b/src/OnRequest.php @@ -76,6 +76,8 @@ class OnRequest implements OnRequestInterface public function onRequest(Request $request, Response $response): void { try { + $this->setResponseHeaders($response, $this->response->headers); + /** @var CQ $PsrRequest */ Context::set(ResponseInterface::class, new ConstrictResponse($this->response->contentType)); $PsrRequest = Context::set(RequestInterface::class, CQ::builder($request)); @@ -90,4 +92,17 @@ class OnRequest implements OnRequestInterface } } + + /** + * @param Response $response + * @param array $headers + * @return void + */ + protected function setResponseHeaders(Response $response, array $headers): void + { + foreach ($headers as $key => $header) { + $response->header($key, $header); + } + } + } diff --git a/src/Response.php b/src/Response.php index 808db4d..17ebb2b 100644 --- a/src/Response.php +++ b/src/Response.php @@ -21,6 +21,12 @@ class Response implements ResponseInterface public ContentType $contentType = ContentType::JSON; + /** + * @var array + */ + public array $headers = []; + + /** * @var string|ResponseEmitterInterface */ @@ -33,6 +39,7 @@ class Response implements ResponseInterface public function __construct() { $this->contentType = \config('response.content-type', ContentType::JSON); + $this->headers = \config('response.headers', []); $this->emmit = \config('response.emmit', SwooleHttpResponseEmitter::class); }