Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

CommonPsr17ClassesStrategy.php

Namespace

Http\Discovery\Strategy

File

vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php

View source
<?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;
    }

}

Classes

Title Deprecated Summary
CommonPsr17ClassesStrategy @internal

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal