PHP 语言 使用PSR 193标准实现HTTP客户端

PHP阿木 发布于 16 天前 5 次阅读


摘要:

随着互联网技术的发展,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