*/ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy { /** * @var array */ private static $classes = [ RequestFactoryInterface::class => [ 'Phalcon\Http\Message\RequestFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\RequestFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\RequestFactory', 'Http\Factory\Guzzle\RequestFactory', 'Http\Factory\Slim\RequestFactory', 'Laminas\Diactoros\RequestFactory', 'Slim\Psr7\Factory\RequestFactory', ], ResponseFactoryInterface::class => [ 'Phalcon\Http\Message\ResponseFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\ResponseFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\ResponseFactory', 'Http\Factory\Guzzle\ResponseFactory', 'Http\Factory\Slim\ResponseFactory', 'Laminas\Diactoros\ResponseFactory', 'Slim\Psr7\Factory\ResponseFactory', ], ServerRequestFactoryInterface::class => [ 'Phalcon\Http\Message\ServerRequestFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\ServerRequestFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\ServerRequestFactory', 'Http\Factory\Guzzle\ServerRequestFactory', 'Http\Factory\Slim\ServerRequestFactory', 'Laminas\Diactoros\ServerRequestFactory', 'Slim\Psr7\Factory\ServerRequestFactory', ], StreamFactoryInterface::class => [ 'Phalcon\Http\Message\StreamFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\StreamFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\StreamFactory', 'Http\Factory\Guzzle\StreamFactory', 'Http\Factory\Slim\StreamFactory', 'Laminas\Diactoros\StreamFactory', 'Slim\Psr7\Factory\StreamFactory', ], UploadedFileFactoryInterface::class => [ 'Phalcon\Http\Message\UploadedFileFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\UploadedFileFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\UploadedFileFactory', 'Http\Factory\Guzzle\UploadedFileFactory', 'Http\Factory\Slim\UploadedFileFactory', 'Laminas\Diactoros\UploadedFileFactory', 'Slim\Psr7\Factory\UploadedFileFactory', ], UriFactoryInterface::class => [ 'Phalcon\Http\Message\UriFactory', 'Nyholm\Psr7\Factory\Psr17Factory', 'Zend\Diactoros\UriFactory', 'GuzzleHttp\Psr7\HttpFactory', 'Http\Factory\Diactoros\UriFactory', 'Http\Factory\Guzzle\UriFactory', 'Http\Factory\Slim\UriFactory', 'Laminas\Diactoros\UriFactory', 'Slim\Psr7\Factory\UriFactory', ], ]; /** * {@inheritdoc} */ public static function getCandidates($type) { $candidates = []; if (isset(self::$classes[$type])) { foreach (self::$classes[$type] as $class) { $candidates[] = ['class' => $class, 'condition' => [$class]]; } } return $candidates; } }