From 4461d23e0d610392205f09c9d49eaaf19653343f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Wed, 16 Aug 2023 01:01:47 +0800 Subject: [PATCH] qqq --- src/StreamResponse.php | 17 +++++++++++++---- src/SwooleHttpResponseEmitter.php | 22 +++++++++++++++------- src/SwowHttpResponseEmitter.php | 21 +++++++++++++++------ 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/src/StreamResponse.php b/src/StreamResponse.php index 8700c60..2565238 100644 --- a/src/StreamResponse.php +++ b/src/StreamResponse.php @@ -4,6 +4,11 @@ declare(strict_types=1); namespace Kiri\Router; +use Kiri\Server\Events\OnAfterRequest; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; +use ReflectionException; + /** * */ @@ -13,10 +18,13 @@ class StreamResponse extends Response public int $limit; - /** - * @param object $response - * @return void - */ + /** + * @param object $response + * @return void + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + * @throws ReflectionException + */ public function end(object $response): void { $body = $this->getBody(); @@ -28,6 +36,7 @@ class StreamResponse extends Response $response->write($body->read($this->limit)); } $response->end(); + event(new OnAfterRequest()); } } diff --git a/src/SwooleHttpResponseEmitter.php b/src/SwooleHttpResponseEmitter.php index da3e839..834234e 100644 --- a/src/SwooleHttpResponseEmitter.php +++ b/src/SwooleHttpResponseEmitter.php @@ -5,26 +5,34 @@ namespace Kiri\Router; use Exception; use Kiri\Di\Interface\ResponseEmitterInterface; +use Kiri\Server\Events\OnAfterRequest; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; +use ReflectionException; class SwooleHttpResponseEmitter implements ResponseEmitterInterface { - /** - * @param Response $proxy - * @param object $response - * @return void - * @throws Exception - */ + /** + * @param Response $proxy + * @param object $response + * @return void + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + * @throws ReflectionException + */ public function sender(ResponseInterface $proxy, object $response): void { // TODO: Implement sender() method. $this->writeParams($proxy, $response); $proxy->end($response); - } + + event(new OnAfterRequest()); + } /** diff --git a/src/SwowHttpResponseEmitter.php b/src/SwowHttpResponseEmitter.php index ae853d4..c70ab27 100644 --- a/src/SwowHttpResponseEmitter.php +++ b/src/SwowHttpResponseEmitter.php @@ -3,22 +3,31 @@ namespace Kiri\Router; use Kiri\Di\Interface\ResponseEmitterInterface; +use Kiri\Server\Events\OnAfterRequest; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; +use ReflectionException; class SwowHttpResponseEmitter implements ResponseEmitterInterface { - /** - * @param Response $proxy - * @param object $response - * @return void - */ + /** + * @param Response $proxy + * @param object $response + * @return void + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + * @throws ReflectionException + */ public function sender(ResponseInterface $proxy, object $response): void { // TODO: Implement sender() method. $proxy->withHeader('Server', 'Swow'); $response->sendHttpResponse($proxy); - } + + event(new OnAfterRequest()); + } }