diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2024-10-01 16:00:34 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2024-10-01 16:00:34 +0300 |
| commit | 884fd92f1320d17daebb772297da03fb2cfa59b8 (patch) | |
| tree | 3aa80af1df6ffa1d70f21f9fc4411f451c8b6c56 /vendor/php-http/discovery/src/Strategy | |
| parent | 8fcc68baf5b0ff964a0a4a045353462586e0e316 (diff) | |
drop opentelemetry
Diffstat (limited to 'vendor/php-http/discovery/src/Strategy')
5 files changed, 0 insertions, 421 deletions
diff --git a/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php b/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php deleted file mode 100644 index ae0b0d842..000000000 --- a/vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php +++ /dev/null @@ -1,180 +0,0 @@ -<?php - -namespace Http\Discovery\Strategy; - -use GuzzleHttp\Client as GuzzleHttp; -use GuzzleHttp\Promise\Promise; -use GuzzleHttp\Psr7\Request as GuzzleRequest; -use Http\Adapter\Artax\Client as Artax; -use Http\Adapter\Buzz\Client as Buzz; -use Http\Adapter\Cake\Client as Cake; -use Http\Adapter\Guzzle5\Client as Guzzle5; -use Http\Adapter\Guzzle6\Client as Guzzle6; -use Http\Adapter\Guzzle7\Client as Guzzle7; -use Http\Adapter\React\Client as React; -use Http\Client\Curl\Client as Curl; -use Http\Client\HttpAsyncClient; -use Http\Client\HttpClient; -use Http\Client\Socket\Client as Socket; -use Http\Discovery\ClassDiscovery; -use Http\Discovery\Exception\NotFoundException; -use Http\Discovery\Psr17FactoryDiscovery; -use Http\Message\MessageFactory; -use Http\Message\MessageFactory\DiactorosMessageFactory; -use Http\Message\MessageFactory\GuzzleMessageFactory; -use Http\Message\MessageFactory\SlimMessageFactory; -use Http\Message\StreamFactory; -use Http\Message\StreamFactory\DiactorosStreamFactory; -use Http\Message\StreamFactory\GuzzleStreamFactory; -use Http\Message\StreamFactory\SlimStreamFactory; -use Http\Message\UriFactory; -use Http\Message\UriFactory\DiactorosUriFactory; -use Http\Message\UriFactory\GuzzleUriFactory; -use Http\Message\UriFactory\SlimUriFactory; -use Laminas\Diactoros\Request as DiactorosRequest; -use Nyholm\Psr7\Factory\HttplugFactory as NyholmHttplugFactory; -use Psr\Http\Client\ClientInterface as Psr18Client; -use Psr\Http\Message\RequestFactoryInterface as Psr17RequestFactory; -use Slim\Http\Request as SlimRequest; -use Symfony\Component\HttpClient\HttplugClient as SymfonyHttplug; -use Symfony\Component\HttpClient\Psr18Client as SymfonyPsr18; - -/** - * @internal - * - * @author Tobias Nyholm <tobias.nyholm@gmail.com> - * - * Don't miss updating src/Composer/Plugin.php when adding a new supported class. - */ -final class CommonClassesStrategy implements DiscoveryStrategy -{ - /** - * @var array - */ - private static $classes = [ - MessageFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleMessageFactory::class, 'condition' => [GuzzleRequest::class, GuzzleMessageFactory::class]], - ['class' => DiactorosMessageFactory::class, 'condition' => [DiactorosRequest::class, DiactorosMessageFactory::class]], - ['class' => SlimMessageFactory::class, 'condition' => [SlimRequest::class, SlimMessageFactory::class]], - ], - StreamFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleStreamFactory::class, 'condition' => [GuzzleRequest::class, GuzzleStreamFactory::class]], - ['class' => DiactorosStreamFactory::class, 'condition' => [DiactorosRequest::class, DiactorosStreamFactory::class]], - ['class' => SlimStreamFactory::class, 'condition' => [SlimRequest::class, SlimStreamFactory::class]], - ], - UriFactory::class => [ - ['class' => NyholmHttplugFactory::class, 'condition' => [NyholmHttplugFactory::class]], - ['class' => GuzzleUriFactory::class, 'condition' => [GuzzleRequest::class, GuzzleUriFactory::class]], - ['class' => DiactorosUriFactory::class, 'condition' => [DiactorosRequest::class, DiactorosUriFactory::class]], - ['class' => SlimUriFactory::class, 'condition' => [SlimRequest::class, SlimUriFactory::class]], - ], - HttpAsyncClient::class => [ - ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class, [self::class, 'isPsr17FactoryInstalled']]], - ['class' => Guzzle7::class, 'condition' => Guzzle7::class], - ['class' => Guzzle6::class, 'condition' => Guzzle6::class], - ['class' => Curl::class, 'condition' => Curl::class], - ['class' => React::class, 'condition' => React::class], - ], - HttpClient::class => [ - ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, [self::class, 'isPsr17FactoryInstalled']]], - ['class' => Guzzle7::class, 'condition' => Guzzle7::class], - ['class' => Guzzle6::class, 'condition' => Guzzle6::class], - ['class' => Guzzle5::class, 'condition' => Guzzle5::class], - ['class' => Curl::class, 'condition' => Curl::class], - ['class' => Socket::class, 'condition' => Socket::class], - ['class' => Buzz::class, 'condition' => Buzz::class], - ['class' => React::class, 'condition' => React::class], - ['class' => Cake::class, 'condition' => Cake::class], - ['class' => Artax::class, 'condition' => Artax::class], - [ - 'class' => [self::class, 'buzzInstantiate'], - 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], - ], - ], - Psr18Client::class => [ - [ - 'class' => [self::class, 'symfonyPsr18Instantiate'], - 'condition' => [SymfonyPsr18::class, Psr17RequestFactory::class], - ], - [ - 'class' => GuzzleHttp::class, - 'condition' => [self::class, 'isGuzzleImplementingPsr18'], - ], - [ - 'class' => [self::class, 'buzzInstantiate'], - 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], - ], - ], - ]; - - public static function getCandidates($type) - { - if (Psr18Client::class === $type) { - return self::getPsr18Candidates(); - } - - return self::$classes[$type] ?? []; - } - - /** - * @return array The return value is always an array with zero or more elements. Each - * element is an array with two keys ['class' => string, 'condition' => mixed]. - */ - private static function getPsr18Candidates() - { - $candidates = self::$classes[Psr18Client::class]; - - // HTTPlug 2.0 clients implements PSR18Client too. - foreach (self::$classes[HttpClient::class] as $c) { - if (!is_string($c['class'])) { - continue; - } - try { - if (ClassDiscovery::safeClassExists($c['class']) && is_subclass_of($c['class'], Psr18Client::class)) { - $candidates[] = $c; - } - } catch (\Throwable $e) { - trigger_error(sprintf('Got exception "%s (%s)" while checking if a PSR-18 Client is available', get_class($e), $e->getMessage()), E_USER_WARNING); - } - } - - return $candidates; - } - - public static function buzzInstantiate() - { - return new \Buzz\Client\FileGetContents(Psr17FactoryDiscovery::findResponseFactory()); - } - - public static function symfonyPsr18Instantiate() - { - return new SymfonyPsr18(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory()); - } - - public static function isGuzzleImplementingPsr18() - { - return defined('GuzzleHttp\ClientInterface::MAJOR_VERSION'); - } - - /** - * Can be used as a condition. - * - * @return bool - */ - public static function isPsr17FactoryInstalled() - { - try { - Psr17FactoryDiscovery::findResponseFactory(); - } catch (NotFoundException $e) { - return false; - } catch (\Throwable $e) { - trigger_error(sprintf('Got exception "%s (%s)" while checking if a PSR-17 ResponseFactory is available', get_class($e), $e->getMessage()), E_USER_WARNING); - - return false; - } - - return true; - } -} diff --git a/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php b/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php deleted file mode 100644 index 04cf4baf8..000000000 --- a/vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php - -namespace Http\Discovery\Strategy; - -use Psr\Http\Message\RequestFactoryInterface; -use Psr\Http\Message\ResponseFactoryInterface; -use Psr\Http\Message\ServerRequestFactoryInterface; -use Psr\Http\Message\StreamFactoryInterface; -use Psr\Http\Message\UploadedFileFactoryInterface; -use Psr\Http\Message\UriFactoryInterface; - -/** - * @internal - * - * @author Tobias Nyholm <tobias.nyholm@gmail.com> - * - * Don't miss updating src/Composer/Plugin.php when adding a new supported class. - */ -final class CommonPsr17ClassesStrategy implements DiscoveryStrategy -{ - /** - * @var array - */ - private static $classes = [ - RequestFactoryInterface::class => [ - 'Phalcon\Http\Message\RequestFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\RequestFactory', - 'Http\Factory\Guzzle\RequestFactory', - 'Http\Factory\Slim\RequestFactory', - 'Laminas\Diactoros\RequestFactory', - 'Slim\Psr7\Factory\RequestFactory', - 'HttpSoft\Message\RequestFactory', - ], - ResponseFactoryInterface::class => [ - 'Phalcon\Http\Message\ResponseFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\ResponseFactory', - 'Http\Factory\Guzzle\ResponseFactory', - 'Http\Factory\Slim\ResponseFactory', - 'Laminas\Diactoros\ResponseFactory', - 'Slim\Psr7\Factory\ResponseFactory', - 'HttpSoft\Message\ResponseFactory', - ], - ServerRequestFactoryInterface::class => [ - 'Phalcon\Http\Message\ServerRequestFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\ServerRequestFactory', - 'Http\Factory\Guzzle\ServerRequestFactory', - 'Http\Factory\Slim\ServerRequestFactory', - 'Laminas\Diactoros\ServerRequestFactory', - 'Slim\Psr7\Factory\ServerRequestFactory', - 'HttpSoft\Message\ServerRequestFactory', - ], - StreamFactoryInterface::class => [ - 'Phalcon\Http\Message\StreamFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\StreamFactory', - 'Http\Factory\Guzzle\StreamFactory', - 'Http\Factory\Slim\StreamFactory', - 'Laminas\Diactoros\StreamFactory', - 'Slim\Psr7\Factory\StreamFactory', - 'HttpSoft\Message\StreamFactory', - ], - UploadedFileFactoryInterface::class => [ - 'Phalcon\Http\Message\UploadedFileFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\UploadedFileFactory', - 'Http\Factory\Guzzle\UploadedFileFactory', - 'Http\Factory\Slim\UploadedFileFactory', - 'Laminas\Diactoros\UploadedFileFactory', - 'Slim\Psr7\Factory\UploadedFileFactory', - 'HttpSoft\Message\UploadedFileFactory', - ], - UriFactoryInterface::class => [ - 'Phalcon\Http\Message\UriFactory', - 'Nyholm\Psr7\Factory\Psr17Factory', - 'GuzzleHttp\Psr7\HttpFactory', - 'Http\Factory\Diactoros\UriFactory', - 'Http\Factory\Guzzle\UriFactory', - 'Http\Factory\Slim\UriFactory', - 'Laminas\Diactoros\UriFactory', - 'Slim\Psr7\Factory\UriFactory', - 'HttpSoft\Message\UriFactory', - ], - ]; - - public static function getCandidates($type) - { - $candidates = []; - if (isset(self::$classes[$type])) { - foreach (self::$classes[$type] as $class) { - $candidates[] = ['class' => $class, 'condition' => [$class]]; - } - } - - return $candidates; - } -} diff --git a/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php b/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php deleted file mode 100644 index 1eadb145b..000000000 --- a/vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -namespace Http\Discovery\Strategy; - -use Http\Discovery\Exception\StrategyUnavailableException; - -/** - * @author Tobias Nyholm <tobias.nyholm@gmail.com> - */ -interface DiscoveryStrategy -{ - /** - * Find a resource of a specific type. - * - * @param string $type - * - * @return array The return value is always an array with zero or more elements. Each - * element is an array with two keys ['class' => string, 'condition' => mixed]. - * - * @throws StrategyUnavailableException if we cannot use this strategy - */ - public static function getCandidates($type); -} diff --git a/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php b/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php deleted file mode 100644 index 77b9d276f..000000000 --- a/vendor/php-http/discovery/src/Strategy/MockClientStrategy.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -namespace Http\Discovery\Strategy; - -use Http\Client\HttpAsyncClient; -use Http\Client\HttpClient; -use Http\Mock\Client as Mock; - -/** - * Find the Mock client. - * - * @author Sam Rapaport <me@samrapdev.com> - */ -final class MockClientStrategy implements DiscoveryStrategy -{ - public static function getCandidates($type) - { - if (is_a(HttpClient::class, $type, true) || is_a(HttpAsyncClient::class, $type, true)) { - return [['class' => Mock::class, 'condition' => Mock::class]]; - } - - return []; - } -} diff --git a/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php b/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php deleted file mode 100644 index 74b78b83f..000000000 --- a/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -namespace Http\Discovery\Strategy; - -use Http\Discovery\ClassDiscovery; -use Http\Discovery\Exception\PuliUnavailableException; -use Puli\Discovery\Api\Discovery; -use Puli\GeneratedPuliFactory; - -/** - * Find candidates using Puli. - * - * @internal - * - * @final - * - * @author David de Boer <david@ddeboer.nl> - * @author Márk Sági-Kazár <mark.sagikazar@gmail.com> - */ -class PuliBetaStrategy implements DiscoveryStrategy -{ - /** - * @var GeneratedPuliFactory - */ - protected static $puliFactory; - - /** - * @var Discovery - */ - protected static $puliDiscovery; - - /** - * @return GeneratedPuliFactory - * - * @throws PuliUnavailableException - */ - private static function getPuliFactory() - { - if (null === self::$puliFactory) { - if (!defined('PULI_FACTORY_CLASS')) { - throw new PuliUnavailableException('Puli Factory is not available'); - } - - $puliFactoryClass = PULI_FACTORY_CLASS; - - if (!ClassDiscovery::safeClassExists($puliFactoryClass)) { - throw new PuliUnavailableException('Puli Factory class does not exist'); - } - - self::$puliFactory = new $puliFactoryClass(); - } - - return self::$puliFactory; - } - - /** - * Returns the Puli discovery layer. - * - * @return Discovery - * - * @throws PuliUnavailableException - */ - private static function getPuliDiscovery() - { - if (!isset(self::$puliDiscovery)) { - $factory = self::getPuliFactory(); - $repository = $factory->createRepository(); - - self::$puliDiscovery = $factory->createDiscovery($repository); - } - - return self::$puliDiscovery; - } - - public static function getCandidates($type) - { - $returnData = []; - $bindings = self::getPuliDiscovery()->findBindings($type); - - foreach ($bindings as $binding) { - $condition = true; - if ($binding->hasParameterValue('depends')) { - $condition = $binding->getParameterValue('depends'); - } - $returnData[] = ['class' => $binding->getClassName(), 'condition' => $condition]; - } - - return $returnData; - } -} |