From 9a5aebcfd2395af2cdc7422a7a24a60d48727dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Thu, 9 Sep 2021 17:17:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http-server/Constrict/Emitter.php | 2 +- http-server/Constrict/Response.php | 18 ++++++++++++++++++ http-server/Constrict/ResponseEmitter.php | 2 +- http-server/Constrict/TcpEmitter.php | 14 ++++++-------- http-server/Constrict/UdpEmitter.php | 6 ++---- http-server/Constrict/WebSocketEmitter.php | 2 +- http-server/ResponseInterface.php | 4 ++++ 7 files changed, 33 insertions(+), 15 deletions(-) diff --git a/http-server/Constrict/Emitter.php b/http-server/Constrict/Emitter.php index 27ae5226..81f5778c 100644 --- a/http-server/Constrict/Emitter.php +++ b/http-server/Constrict/Emitter.php @@ -2,7 +2,7 @@ namespace Server\Constrict; -use Psr\Http\Message\ResponseInterface; +use Server\ResponseInterface; interface Emitter { diff --git a/http-server/Constrict/Response.php b/http-server/Constrict/Response.php index 420f15e8..77a78618 100644 --- a/http-server/Constrict/Response.php +++ b/http-server/Constrict/Response.php @@ -307,4 +307,22 @@ class Response implements ResponseInterface { return $this->__call__()->{__FUNCTION__}(); } + + + /** + * @return int + */ + public function getClientId(): int + { + return $this->__call__()->{__FUNCTION__}(); + } + + + /** + * @return array + */ + public function getClientInfo(): array + { + return $this->__call__()->{__FUNCTION__}(); + } } diff --git a/http-server/Constrict/ResponseEmitter.php b/http-server/Constrict/ResponseEmitter.php index f6d57b1f..d1afea15 100644 --- a/http-server/Constrict/ResponseEmitter.php +++ b/http-server/Constrict/ResponseEmitter.php @@ -3,7 +3,7 @@ namespace Server\Constrict; use Annotation\Inject; -use Psr\Http\Message\ResponseInterface; +use Server\ResponseInterface; use Server\RequestInterface; use Server\SInterface\DownloadInterface; use Swoole\Server; diff --git a/http-server/Constrict/TcpEmitter.php b/http-server/Constrict/TcpEmitter.php index 2ba4b4e3..3a585702 100644 --- a/http-server/Constrict/TcpEmitter.php +++ b/http-server/Constrict/TcpEmitter.php @@ -2,9 +2,9 @@ namespace Server\Constrict; +use Exception; use Http\Context\Formatter\FileFormatter; -use Kiri\Exception\NotFindClassException; -use Psr\Http\Message\ResponseInterface; +use Server\ResponseInterface; use Swoole\Server; @@ -18,17 +18,15 @@ class TcpEmitter implements Emitter /** * @param Server $response * @param ResponseInterface $emitter - * @throws NotFindClassException - * @throws \ReflectionException - * @throws \Exception + * @throws Exception */ public function sender(mixed $response, ResponseInterface $emitter): void { - $formatter = $emitter->getContent(); + $formatter = $emitter->stream->getContents(); if ($formatter instanceof FileFormatter) { - $response->sendfile($emitter->getClientId(), $formatter->getData()); + $response->sendfile($emitter->getClientId(), $formatter); } else { - $response->send($emitter->getClientId(), $formatter->getData()); + $response->send($emitter->getClientId(), $formatter); } } } diff --git a/http-server/Constrict/UdpEmitter.php b/http-server/Constrict/UdpEmitter.php index 4a5c6fa9..9caeb028 100644 --- a/http-server/Constrict/UdpEmitter.php +++ b/http-server/Constrict/UdpEmitter.php @@ -3,7 +3,7 @@ namespace Server\Constrict; use Kiri\Exception\NotFindClassException; -use Psr\Http\Message\ResponseInterface; +use Server\ResponseInterface; use Swoole\Server; @@ -17,15 +17,13 @@ class UdpEmitter implements Emitter /** * @param Server $response * @param ResponseInterface $emitter - * @throws NotFindClassException - * @throws \ReflectionException * @throws \Exception */ public function sender(mixed $response, ResponseInterface $emitter): void { $clientInfo = $emitter->getClientInfo(); $response->sendto($clientInfo['host'], $clientInfo['port'], - $emitter->getContent()->getData() + $emitter->stream->getContents() ); } } diff --git a/http-server/Constrict/WebSocketEmitter.php b/http-server/Constrict/WebSocketEmitter.php index fde82fb0..2610120f 100644 --- a/http-server/Constrict/WebSocketEmitter.php +++ b/http-server/Constrict/WebSocketEmitter.php @@ -5,8 +5,8 @@ namespace Server\Constrict; use Exception; use Kiri\Kiri; -use Psr\Http\Message\ResponseInterface; use Server\ServerManager; +use Server\ResponseInterface; /** * diff --git a/http-server/ResponseInterface.php b/http-server/ResponseInterface.php index a0ccef64..5519bd08 100644 --- a/http-server/ResponseInterface.php +++ b/http-server/ResponseInterface.php @@ -21,6 +21,10 @@ interface ResponseInterface extends \Psr\Http\Message\ResponseInterface public function file(string $path): DownloadInterface; + public function getClientId(): int; + public function getClientInfo(): array; + + /** * @param $responseData * @return string|array|bool|int|null