diff options
author | Andrew Dolgov <[email protected]> | 2023-10-20 17:12:29 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-20 21:13:39 +0300 |
commit | cdd7ad020e165fe680703b6d3319b908b682fb7a (patch) | |
tree | b51eb09b7b4587e8fbc5624ac8d88d28cfcd0b04 /vendor/php-http/guzzle7-adapter | |
parent | 45a9ff0c88cbd33892ff16ab837e9059937d656e (diff) |
jaeger-client -> opentelemetry
Diffstat (limited to 'vendor/php-http/guzzle7-adapter')
-rw-r--r-- | vendor/php-http/guzzle7-adapter/CHANGELOG.md | 18 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/LICENSE | 19 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/README.md | 45 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/composer.json | 43 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/phpstan.neon.dist | 5 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/psalm.baseline.xml | 8 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/psalm.xml | 16 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/src/Client.php | 75 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/src/Exception/UnexpectedValueException.php | 9 | ||||
-rw-r--r-- | vendor/php-http/guzzle7-adapter/src/Promise.php | 132 |
10 files changed, 370 insertions, 0 deletions
diff --git a/vendor/php-http/guzzle7-adapter/CHANGELOG.md b/vendor/php-http/guzzle7-adapter/CHANGELOG.md new file mode 100644 index 000000000..9aa94407b --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/CHANGELOG.md @@ -0,0 +1,18 @@ +# Change Log + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [1.0.0] - 2021-03-09 + +- Stable release - no changes since 0.1.1 + +## [0.1.1] - 2020-10-21 + +* Allow installation with PHP 8 + +## [0.1.0] - 2020-08-16 + +First release diff --git a/vendor/php-http/guzzle7-adapter/LICENSE b/vendor/php-http/guzzle7-adapter/LICENSE new file mode 100644 index 000000000..0d6ce83b8 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2020 PHP HTTP Team <[email protected]> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/php-http/guzzle7-adapter/README.md b/vendor/php-http/guzzle7-adapter/README.md new file mode 100644 index 000000000..7e6b5b5dc --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/README.md @@ -0,0 +1,45 @@ +# Guzzle 7 HTTP Adapter + +[![Latest Version](https://img.shields.io/github/release/php-http/guzzle7-adapter.svg?style=flat-square)](https://github.com/php-http/guzzle7-adapter/releases) +[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE) +[![Total Downloads](https://img.shields.io/packagist/dt/php-http/guzzle7-adapter.svg?style=flat-square)](https://packagist.org/packages/php-http/guzzle7-adapter) + +**Guzzle 7 HTTP Adapter.** + +## Install + +Via Composer + +``` bash +$ composer require php-http/guzzle7-adapter +``` + +## Documentation + +Please see the [official documentation](http://docs.php-http.org/en/latest/clients/guzzle7-adapter.html). + +## Testing + +First launch the http server: + +```bash +$ ./vendor/bin/http_test_server > /dev/null 2>&1 & +``` + +Then the test suite: + +``` bash +$ composer test +``` + +## Contributing + +Please see our [contributing guide](http://docs.php-http.org/en/latest/development/contributing.html). + +## Security + +If you discover any security related issues, please contact us at [[email protected]](mailto:[email protected]). + +## License + +The MIT License (MIT). Please see [License File](LICENSE) for more information. diff --git a/vendor/php-http/guzzle7-adapter/composer.json b/vendor/php-http/guzzle7-adapter/composer.json new file mode 100644 index 000000000..3299d2eb7 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/composer.json @@ -0,0 +1,43 @@ +{ + "name": "php-http/guzzle7-adapter", + "description": "Guzzle 7 HTTP Adapter", + "license": "MIT", + "keywords": ["guzzle", "http"], + "homepage": "http://httplug.io", + "authors": [ + { + "name": "Tobias Nyholm", + "email": "[email protected]" + } + ], + "require": { + "php": "^7.2 | ^8.0", + "php-http/httplug": "^2.0", + "psr/http-client": "^1.0", + "guzzlehttp/guzzle": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.3", + "php-http/client-integration-tests": "^3.0" + }, + "provide": { + "php-http/client-implementation": "1.0", + "php-http/async-client-implementation": "1.0", + "psr/http-client-implementation": "1.0" + }, + "autoload": { + "psr-4": { + "Http\\Adapter\\Guzzle7\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Http\\Adapter\\Guzzle7\\Tests\\": "tests/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + } +} diff --git a/vendor/php-http/guzzle7-adapter/phpstan.neon.dist b/vendor/php-http/guzzle7-adapter/phpstan.neon.dist new file mode 100644 index 000000000..d42940e93 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/phpstan.neon.dist @@ -0,0 +1,5 @@ +parameters: + level: 5 + reportUnmatchedIgnoredErrors: false + paths: + - src diff --git a/vendor/php-http/guzzle7-adapter/psalm.baseline.xml b/vendor/php-http/guzzle7-adapter/psalm.baseline.xml new file mode 100644 index 000000000..96ab42cf9 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/psalm.baseline.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<files psalm-version="3.14.2@3538fe1955d47f6ee926c0769d71af6db08aa488"> + <file src="src/Promise.php"> + <PossiblyNullArgument occurrences="1"> + <code>$exception->getResponse()</code> + </PossiblyNullArgument> + </file> +</files> diff --git a/vendor/php-http/guzzle7-adapter/psalm.xml b/vendor/php-http/guzzle7-adapter/psalm.xml new file mode 100644 index 000000000..d70acfe4f --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/psalm.xml @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<psalm + errorLevel="3" + resolveFromConfigFile="true" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="https://getpsalm.org/schema/config" + xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" + errorBaseline="psalm.baseline.xml" +> + <projectFiles> + <directory name="src" /> + <ignoreFiles> + <directory name="vendor" /> + </ignoreFiles> + </projectFiles> +</psalm> diff --git a/vendor/php-http/guzzle7-adapter/src/Client.php b/vendor/php-http/guzzle7-adapter/src/Client.php new file mode 100644 index 000000000..a92ab06bd --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/src/Client.php @@ -0,0 +1,75 @@ +<?php + +declare(strict_types=1); + +namespace Http\Adapter\Guzzle7; + +use GuzzleHttp\Client as GuzzleClient; +use GuzzleHttp\ClientInterface; +use GuzzleHttp\HandlerStack; +use GuzzleHttp\Middleware; +use GuzzleHttp\Utils; +use Http\Client\HttpAsyncClient; +use Http\Client\HttpClient; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * HTTP Adapter for Guzzle 7. + * + * @author Tobias Nyholm <[email protected]> + */ +final class Client implements HttpClient, HttpAsyncClient +{ + /** + * @var ClientInterface + */ + private $guzzle; + + public function __construct(?ClientInterface $guzzle = null) + { + if (!$guzzle) { + $guzzle = self::buildClient(); + } + + $this->guzzle = $guzzle; + } + + /** + * Factory method to create the Guzzle 7 adapter with custom Guzzle configuration. + */ + public static function createWithConfig(array $config): Client + { + return new self(self::buildClient($config)); + } + + /** + * {@inheritdoc} + */ + public function sendRequest(RequestInterface $request): ResponseInterface + { + return $this->sendAsyncRequest($request)->wait(); + } + + /** + * {@inheritdoc} + */ + public function sendAsyncRequest(RequestInterface $request) + { + $promise = $this->guzzle->sendAsync($request); + + return new Promise($promise, $request); + } + + /** + * Build the Guzzle client instance. + */ + private static function buildClient(array $config = []): GuzzleClient + { + $handlerStack = new HandlerStack(Utils::chooseHandler()); + $handlerStack->push(Middleware::prepareBody(), 'prepare_body'); + $config = array_merge(['handler' => $handlerStack], $config); + + return new GuzzleClient($config); + } +} diff --git a/vendor/php-http/guzzle7-adapter/src/Exception/UnexpectedValueException.php b/vendor/php-http/guzzle7-adapter/src/Exception/UnexpectedValueException.php new file mode 100644 index 000000000..f4731be07 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/src/Exception/UnexpectedValueException.php @@ -0,0 +1,9 @@ +<?php + +namespace Http\Adapter\Guzzle7\Exception; + +use Http\Client\Exception; + +final class UnexpectedValueException extends \UnexpectedValueException implements Exception +{ +} diff --git a/vendor/php-http/guzzle7-adapter/src/Promise.php b/vendor/php-http/guzzle7-adapter/src/Promise.php new file mode 100644 index 000000000..b83021688 --- /dev/null +++ b/vendor/php-http/guzzle7-adapter/src/Promise.php @@ -0,0 +1,132 @@ +<?php + +declare(strict_types=1); + +namespace Http\Adapter\Guzzle7; + +use GuzzleHttp\Exception as GuzzleExceptions; +use GuzzleHttp\Promise\PromiseInterface; +use Http\Adapter\Guzzle7\Exception\UnexpectedValueException; +use Http\Client\Exception as HttplugException; +use Http\Promise\Promise as HttpPromise; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Wrapper around Guzzle promises. + * + * @author Joel Wurtz <[email protected]> + */ +final class Promise implements HttpPromise +{ + /** + * @var PromiseInterface + */ + private $promise; + + /** + * @var string State of the promise + */ + private $state; + + /** + * @var ResponseInterface + */ + private $response; + + /** + * @var HttplugException + */ + private $exception; + + /** + * @var RequestInterface + */ + private $request; + + public function __construct(PromiseInterface $promise, RequestInterface $request) + { + $this->request = $request; + $this->state = self::PENDING; + $this->promise = $promise->then(function ($response) { + $this->response = $response; + $this->state = self::FULFILLED; + + return $response; + }, function ($reason) use ($request) { + $this->state = self::REJECTED; + + if ($reason instanceof HttplugException) { + $this->exception = $reason; + } elseif ($reason instanceof GuzzleExceptions\GuzzleException) { + $this->exception = $this->handleException($reason, $request); + } elseif ($reason instanceof \Throwable) { + $this->exception = new HttplugException\TransferException('Invalid exception returned from Guzzle7', 0, $reason); + } else { + $this->exception = new UnexpectedValueException('Reason returned from Guzzle7 must be an Exception'); + } + + throw $this->exception; + }); + } + + /** + * {@inheritdoc} + */ + public function then(callable $onFulfilled = null, callable $onRejected = null) + { + return new static($this->promise->then($onFulfilled, $onRejected), $this->request); + } + + /** + * {@inheritdoc} + */ + public function getState() + { + return $this->state; + } + + /** + * {@inheritdoc} + */ + public function wait($unwrap = true) + { + $this->promise->wait(false); + + if ($unwrap) { + if (self::REJECTED == $this->getState()) { + throw $this->exception; + } + + return $this->response; + } + } + + /** + * Converts a Guzzle exception into an Httplug exception. + * + * @return HttplugException + */ + private function handleException(GuzzleExceptions\GuzzleException $exception, RequestInterface $request) + { + if ($exception instanceof GuzzleExceptions\ConnectException) { + return new HttplugException\NetworkException($exception->getMessage(), $exception->getRequest(), $exception); + } + + if ($exception instanceof GuzzleExceptions\RequestException) { + // Make sure we have a response for the HttpException + if ($exception->hasResponse()) { + return new HttplugException\HttpException( + $exception->getMessage(), + $exception->getRequest(), + $exception->getResponse(), + $exception + ); + } + + return new HttplugException\RequestException($exception->getMessage(), $exception->getRequest(), $exception); + } + + return new HttplugException\TransferException($exception->getMessage(), 0, $exception); + } +} |