From 053c449f85dc868faa3d783296688cfc2a3f686a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Sat, 12 Sep 2020 02:53:27 +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 --- HttpServer/Client/Client.php | 11 ++++------- HttpServer/Client/Http2.php | 38 ++++++++++++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/HttpServer/Client/Client.php b/HttpServer/Client/Client.php index 1a295abb..dd1e6647 100644 --- a/HttpServer/Client/Client.php +++ b/HttpServer/Client/Client.php @@ -16,6 +16,7 @@ use Snowflake\Snowflake; use Swoole\Coroutine; use Swoole\Coroutine\Http\Client as SClient; use Swoole\Coroutine\System; +use Swoole\Coroutine\Client as SCClient; /** * Class Client @@ -234,21 +235,17 @@ class Client */ public function sendTo($path, array $data, $type = SWOOLE_TCP) { - $client = new \Swoole\Coroutine\Client($type); + $client = new SCClient($type); if (empty($this->host) || empty($this->port)) { return new Result(['code' => 500, 'message' => 'Host and port is null']); } if (!$client->connect($this->host, $this->port, $this->connect_timeout)) { return new Result(['code' => 500, 'message' => $client->errMsg]); } - - $path = '/' . $this->port . '/' . ltrim($path, '/'); - $params['body'] = $data; - $params['path'] = $path; - $params['header']['request_uri'] = $path; + $params['path'] = '/' . $this->port . '/' . ltrim($path, '/'); + $params['header']['request_uri'] = $params['path']; $params['header']['request_method'] = 'receive'; - if ($client->send(serialize($params))) { $recv = $this->timeout > 0 ? $client->recv($this->timeout) : $client->recv(); $param = $this->structure(Help::toArray($recv), $data, null, 200); diff --git a/HttpServer/Client/Http2.php b/HttpServer/Client/Http2.php index a1e11dd2..51c8f225 100644 --- a/HttpServer/Client/Http2.php +++ b/HttpServer/Client/Http2.php @@ -35,7 +35,7 @@ class Http2 extends Component * @return mixed * @throws Exception */ - public function query($domain, $path, $params = [], $timeout = -1) + public function get($domain, $path, $params = [], $timeout = -1) { $client = $this->getClient($domain, $path, $timeout); $client->send($this->getRequest($domain, $path, 'GET', $params)); @@ -51,7 +51,7 @@ class Http2 extends Component * @return mixed * @throws Exception */ - public function push($domain, $path, $params = [], $timeout = -1) + public function post($domain, $path, $params = [], $timeout = -1) { $client = $this->getClient($domain, $path, $timeout); $client->send($this->getRequest($domain, $path, 'POST', $params)); @@ -59,6 +59,40 @@ class Http2 extends Component } + + /** + * @param $domain + * @param $path + * @param array $params + * @param int $timeout + * @return mixed + * @throws Exception + */ + public function delete($domain, $path, $params = [], $timeout = -1) + { + $client = $this->getClient($domain, $path, $timeout); + $client->send($this->getRequest($domain, $path, 'DELETE', $params)); + return new Result(['code' => 0, 'data' => Help::toArray($client->recv())]); + } + + + + /** + * @param $domain + * @param $path + * @param array $params + * @param int $timeout + * @return mixed + * @throws Exception + */ + public function put($domain, $path, $params = [], $timeout = -1) + { + $client = $this->getClient($domain, $path, $timeout); + $client->send($this->getRequest($domain, $path, 'PUT', $params)); + return new Result(['code' => 0, 'data' => Help::toArray($client->recv())]); + } + + /** * @param $domain * @param $path