摘要:
随着互联网技术的发展,HTTP客户端在Web开发中的应用越来越广泛。PSR-193标准是PHP社区为了统一HTTP客户端实现而制定的一个规范。本文将围绕PSR-193标准,探讨如何在PHP中实现一个符合规范的HTTP客户端。
一、
HTTP客户端是Web开发中不可或缺的一部分,它负责发送HTTP请求并接收响应。在PHP中,实现HTTP客户端有多种方式,如cURL、file_get_contents等。这些实现方式往往缺乏统一性,难以维护和扩展。为了解决这个问题,PHP社区制定了PSR-193标准,旨在统一HTTP客户端的实现。
二、PSR-193标准概述
PSR-193标准定义了HTTP客户端的接口和实现规范,主要包括以下几个方面:
1. 接口定义:PSR-193标准定义了一个统一的接口,包括请求发送、响应接收、错误处理等功能。
2. 请求方法:支持GET、POST、PUT、DELETE等常见的HTTP请求方法。
3. 请求头:支持设置和获取请求头信息。
4. 请求体:支持设置和获取请求体内容。
5. 响应处理:支持解析响应头、响应体和响应状态码。
6. 错误处理:支持捕获和处理请求过程中可能出现的错误。
三、实现PSR-193标准的PHP HTTP客户端
以下是一个基于PSR-193标准的PHP HTTP客户端实现示例:
```php
<?php
namespace HttpClient;
use HttpClientExceptionTransferException;
use HttpClientExceptionRequestException;
use HttpClientExceptionConnectException;
use HttpClientExceptionHttpException;
use HttpClientExceptionDecodingException;
use HttpClientExceptionTimeoutException;
use HttpClientExceptionTooManyRedirectsException;
use HttpClientExceptionInvalidUrlException;
use HttpClientExceptionInvalidResponseException;
use HttpClientExceptionInvalidMethodException;
use HttpClientExceptionInvalidStreamException;
use HttpClientExceptionInvalidOptionsException;
use HttpClientExceptionInvalidHeaderException;
use HttpClientExceptionInvalidBodyException;
use HttpClientExceptionInvalidUriException;
use HttpClientExceptionInvalidResourceException;
use HttpClientExceptionInvalidCertificateException;
use HttpClientExceptionInvalidProxyException;
use HttpClientExceptionInvalidVersionException;
use HttpClientExceptionInvalidUriSchemeException;
use HttpClientExceptionInvalidUriHostException;
use HttpClientExceptionInvalidUriPortException;
use HttpClientExceptionInvalidUriPathException;
use HttpClientExceptionInvalidUriQueryException;
use HttpClientExceptionInvalidUriFragmentException;
use HttpClientExceptionInvalidUriUserInfoException;
use HttpClientExceptionInvalidUriAuthorityException;
use HttpClientExceptionInvalidUriExceptionInterface;
use HttpClientExceptionExceptionInterface;
use HttpClientExceptionInvalidUriExceptionTrait;
use HttpClientExceptionInvalidUriExceptionTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTrait;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTrait
Comments NOTHING