diff --git a/composer.json b/composer.json index 3793571c..f704a7ee 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,7 @@ "psr-4": { "Kiri\\": "core/", "Http\\": "http-helper/", - "Protocol\\Message\\": "http-message/", + "Http\\Message\\": "http-message/", "Server\\": "http-server/", "Console\\": "kiri-console/", "Gii\\": "kiri-gii/", diff --git a/function.php b/function.php index ad98ae0d..8afe5346 100644 --- a/function.php +++ b/function.php @@ -24,7 +24,7 @@ use Server\Constrict\Response; use Server\Constrict\ResponseInterface; use Server\ServerManager; use Swoole\WebSocket\Server; -use Protocol\Message\Response as Par7Response; +use Http\Message\Response as Par7Response; if (!function_exists('make')) { diff --git a/http-message/Download.php b/http-message/Download.php index b48e9ac0..360c8f44 100644 --- a/http-message/Download.php +++ b/http-message/Download.php @@ -1,6 +1,6 @@ tmp_name, 'r')) { - throw new \Exception('The file "' . $this->name . '" con\'t readable.'); + if ($this->stream instanceof Stream) { + return $this->stream; } - return new Stream(fopen($this->tmp_name, 'r')); + + $this->stream = new Stream(fopen($this->tmp_name, 'r+')); + + return $this->stream; } /** * @param string $targetPath - * @return \Psr\Http\Message\StreamInterface - * @throws \Exception + * @return StreamInterface + * @throws Exception */ public function moveTo($targetPath): StreamInterface { @move_uploaded_file($this->tmp_name, $targetPath); if (!file_exists($targetPath)) { - throw new \Exception('File save fail.'); + throw new Exception('File save fail.'); } + + if ($this->stream instanceof Stream) { + $this->stream->close(); + $this->stream = null; + } + $this->tmp_name = $targetPath; return $this->getStream(); } diff --git a/http-message/Uri.php b/http-message/Uri.php index 00319ce3..68e610a0 100644 --- a/http-message/Uri.php +++ b/http-message/Uri.php @@ -1,6 +1,6 @@ getHeaders())) { foreach ($emitter->getHeaders() as $name => $values) { diff --git a/http-server/Constrict/ResponseInterface.php b/http-server/Constrict/ResponseInterface.php index abd7ceee..036b66b2 100644 --- a/http-server/Constrict/ResponseInterface.php +++ b/http-server/Constrict/ResponseInterface.php @@ -4,7 +4,7 @@ namespace Server\Constrict; use JetBrains\PhpStorm\Pure; -use Protocol\Message\Response; +use Http\Message\Response; use Server\SInterface\DownloadInterface; /** diff --git a/http-server/Constrict/WebSocketEmitter.php b/http-server/Constrict/WebSocketEmitter.php index 5b3ce4ab..d5878784 100644 --- a/http-server/Constrict/WebSocketEmitter.php +++ b/http-server/Constrict/WebSocketEmitter.php @@ -17,10 +17,10 @@ class WebSocketEmitter implements Emitter /** * @param mixed $response - * @param ResponseInterface|\Protocol\Message\Response $emitter + * @param ResponseInterface|\Http\Message\Response $emitter * @throws Exception */ - public function sender(mixed $response, ResponseInterface|\Protocol\Message\Response $emitter): void + public function sender(mixed $response, ResponseInterface|\Http\Message\Response $emitter): void { $server = Kiri::getDi()->get(ServerManager::class)->getServer(); diff --git a/http-server/ExceptionHandlerDispatcher.php b/http-server/ExceptionHandlerDispatcher.php index 96de17cd..bb865112 100644 --- a/http-server/ExceptionHandlerDispatcher.php +++ b/http-server/ExceptionHandlerDispatcher.php @@ -3,7 +3,7 @@ namespace Server; -use Protocol\Message\Stream; +use Http\Message\Stream; use Server\Constrict\Response; use Server\Constrict\ResponseInterface; use Throwable; diff --git a/http-server/Sender.php b/http-server/Sender.php index 1f78a8e9..95f42c75 100644 --- a/http-server/Sender.php +++ b/http-server/Sender.php @@ -4,7 +4,7 @@ namespace Server; use Annotation\Inject; use Server\Constrict\Response; -use Protocol\Message\Stream; +use Http\Message\Stream; class Sender {