摘要:
随着互联网技术的飞速发展,HTTP客户端在Web开发中的应用越来越广泛。PSR-49标准作为PHP社区中关于HTTP客户端的规范,为开发者提供了统一的接口和实现方式。本文将围绕PSR-49标准,探讨PHP HTTP客户端的实现方法,并针对性能和可扩展性进行优化。
一、
HTTP客户端是Web开发中不可或缺的一部分,它负责发送HTTP请求并接收响应。在PHP中,实现HTTP客户端有多种方式,如cURL、file_get_contents等。这些方法往往缺乏统一的接口和规范,导致代码难以维护和扩展。PSR-49标准应运而生,它定义了一套统一的HTTP客户端接口,使得开发者可以更加方便地实现和维护HTTP客户端。
二、PSR-49标准概述
PSR-49标准定义了HTTP客户端的接口,包括以下主要部分:
1. RequestInterface:定义了HTTP请求的接口,包括设置请求方法、URL、头部、体等。
2. ResponseInterface:定义了HTTP响应的接口,包括获取状态码、头部、体等。
3. ClientInterface:定义了HTTP客户端的接口,包括发送请求、接收响应等。
三、基于PSR-49标准的PHP HTTP客户端实现
以下是一个简单的基于PSR-49标准的PHP HTTP客户端实现示例:
```php
<?php
namespace HttpClient;
use HttpClientExceptionTransferException;
use HttpClientExceptionRequestException;
use HttpClientExceptionConnectException;
use HttpClientExceptionHttpException;
use HttpClientExceptionDecodingException;
use HttpClientExceptionTimeoutException;
use HttpClientExceptionTooManyRedirectsException;
use HttpClientExceptionNoUniqueEndpointException;
use HttpClientExceptionInvalidEndpointException;
use HttpClientExceptionInvalidResponseException;
use HttpClientExceptionInvalidMethodException;
use HttpClientExceptionInvalidUriException;
use HttpClientExceptionInvalidProxyException;
use HttpClientExceptionInvalidOptionsException;
use HttpClientExceptionInvalidStreamException;
use HttpClientExceptionInvalidResourceException;
use HttpClientExceptionInvalidHandlerException;
use HttpClientExceptionInvalidUriSchemeException;
use HttpClientExceptionInvalidUriHostException;
use HttpClientExceptionInvalidUriPortException;
use HttpClientExceptionInvalidUriPathException;
use HttpClientExceptionInvalidUriQueryException;
use HttpClientExceptionInvalidUriFragmentException;
use HttpClientExceptionInvalidUriUserInfoException;
use HttpClientExceptionInvalidUriAuthorityException;
use HttpClientExceptionInvalidUriExceptionInterface;
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 HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
use HttpClientExceptionInvalidUriExceptionTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitTraitInterface;
Comments NOTHING