From a6ec6951a9a68a4c5144aee97638486826d6af84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=B8=9C=E4=BA=91?= Date: Thu, 6 Jul 2023 17:54:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(service):=20=E4=BF=AE=E5=A4=8D=20http=20?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E7=B1=BB=E4=B8=AD=E6=97=A0=E6=95=88=E7=9A=84?= =?UTF-8?q?=20query?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李东云 --- src/Service/HttpRequestService.php | 49 ++++++++++-------------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/src/Service/HttpRequestService.php b/src/Service/HttpRequestService.php index b5675b8..d29bfb2 100644 --- a/src/Service/HttpRequestService.php +++ b/src/Service/HttpRequestService.php @@ -6,15 +6,12 @@ namespace Singularity\HDK\Core\Service; use Ergebnis\Http\Method; use GuzzleHttp\Client; -use GuzzleHttp\Exception\BadResponseException; use GuzzleHttp\Exception\GuzzleException; -use GuzzleHttp\Exception\ServerException; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Utils; use Hyperf\Codec\Json; use Hyperf\Di\Annotation\Inject; use Hyperf\Guzzle\ClientFactory; -use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; /** @@ -22,7 +19,7 @@ use Psr\Http\Message\ResponseInterface; */ class HttpRequestService { - public const TIMEOUT = 20; + // public const TIMEOUT = 20; #[Inject] private ClientFactory $client; @@ -35,14 +32,16 @@ class HttpRequestService /** * @param string $url * @param array $params + * @param array $data * @return ResponseInterface * @throws GuzzleException */ - public function requestGet(string $url, array $params = []): ResponseInterface + public function requestGet(string $url, array $params = [], array $data = []): ResponseInterface { $request = new Request(Method\Rfc\Rfc7231::GET, $url); return $this->getClient()->send($request, [ - 'params' => $params, + 'query' => $params, + 'json' => $data, ]); } @@ -58,12 +57,17 @@ class HttpRequestService * @return ResponseInterface * @throws GuzzleException */ - public function requestPost(string $url, array $data = [], array $params = []): ResponseInterface + public function requestPost(string $url, array $params = [], array $data = []): ResponseInterface { $data = Json::encode($data); - $request = new Request('post', $url, ['Content-Type' => 'application/json'], Utils::streamFor($data)); + $request = new Request( + 'post', + $url, + ['Content-Type' => 'application/json'], + Utils::streamFor($data), + ); return $this->getClient()->send($request, [ - 'params' => $params, + 'query' => $params, ]); } @@ -75,18 +79,13 @@ class HttpRequestService * @return ResponseInterface * @throws GuzzleException */ - public function requestPut(string $url, array $data = [], array $params = []): ResponseInterface + public function requestPut(string $url, array $params = [], array $data = []): ResponseInterface { $data = Json::encode($data); $request = new Request('put', $url, ['Content-Type' => 'application/json'], Utils::streamFor($data)); - $result = $this->getClient()->send($request, [ - 'params' => $params, + return $this->getClient()->send($request, [ + 'query' => $params, ]); - $json = Json::decode($result->getBody()->getContents()); - if ($json['code'] !== 200) { - throw new ServerException($json['message'], $request, $result); - } - return $result; } /** @@ -99,20 +98,4 @@ class HttpRequestService $this->options = array_replace_recursive($this->options, $options); return $this; } - - /** - * @param ResponseInterface $response - * @param RequestInterface $request - * @return ResponseInterface - */ - private function parseResponse( - ResponseInterface $response, - RequestInterface $request - ): ResponseInterface { - if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { - return $response; - } else { - throw new BadResponseException($response->getReasonPhrase(), $request, $response); - } - } }