HttpClient.php 824 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace addons\shopro\library;
  3. use GuzzleHttp\Client;
  4. use GuzzleHttp\RequestOptions;
  5. use Psr\Http\Client\ClientInterface;
  6. use Psr\Http\Message\RequestInterface;
  7. use Psr\Http\Message\ResponseInterface;
  8. /**
  9. * 本 HttpClient 主要为了解决 yansongda\pay Http 必须继承 ClientInterface 问题(fa 框架的 GuzzleHttp\client 为 6.* 未继承 psr ClientInterface
  10. * 也可直接将本类当作 GuzzleHttp\Client 使用
  11. */
  12. class HttpClient extends Client implements ClientInterface
  13. {
  14. public function sendRequest(RequestInterface $request): ResponseInterface
  15. {
  16. $options[RequestOptions::SYNCHRONOUS] = true;
  17. $options[RequestOptions::ALLOW_REDIRECTS] = false;
  18. $options[RequestOptions::HTTP_ERRORS] = false;
  19. return $this->sendAsync($request, $options)->wait();
  20. }
  21. }