%PDF- %PDF-
Direktori : /www/loslex/demo/vendor/php-http/discovery/src/ |
Current File : /www/loslex/demo/vendor/php-http/discovery/src/Psr18Client.php |
<?php namespace Http\Discovery; use Psr\Http\Client\ClientInterface; use Psr\Http\Message\RequestFactoryInterface; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestFactoryInterface; use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\UploadedFileFactoryInterface; use Psr\Http\Message\UriFactoryInterface; /** * A generic PSR-18 and PSR-17 implementation. * * You can create this class with concrete client and factory instances * or let it use discovery to find suitable implementations as needed. * * @author Nicolas Grekas <p@tchwork.com> */ class Psr18Client extends Psr17Factory implements ClientInterface { private $client; public function __construct( ?ClientInterface $client = null, ?RequestFactoryInterface $requestFactory = null, ?ResponseFactoryInterface $responseFactory = null, ?ServerRequestFactoryInterface $serverRequestFactory = null, ?StreamFactoryInterface $streamFactory = null, ?UploadedFileFactoryInterface $uploadedFileFactory = null, ?UriFactoryInterface $uriFactory = null ) { parent::__construct($requestFactory, $responseFactory, $serverRequestFactory, $streamFactory, $uploadedFileFactory, $uriFactory); $this->client = $client ?? Psr18ClientDiscovery::find(); } public function sendRequest(RequestInterface $request): ResponseInterface { return $this->client->sendRequest($request); } }