FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
ameliabooking
/
vendor
/
php-http
/
client-common
/
src
Edit File: FlexibleHttpClient.php
<?php namespace AmeliaHttp\Client\Common; use AmeliaHttp\Client\HttpAsyncClient; use AmeliaHttp\Client\HttpClient; use Psr\Http\Client\ClientInterface; /** * A flexible http client, which implements both interface and will emulate * one contract, the other, or none at all depending on the injected client contract. * * @author Joel Wurtz <joel.wurtz@gmail.com> */ final class FlexibleHttpClient implements HttpClient, HttpAsyncClient { use HttpClientDecorator; use HttpAsyncClientDecorator; /** * @param HttpClient|HttpAsyncClient|ClientInterface $client */ public function __construct($client) { if (!($client instanceof HttpClient) && !($client instanceof HttpAsyncClient) && !($client instanceof ClientInterface)) { throw new \LogicException('Client must be an instance of AmeliaHttp\\Client\\HttpClient or AmeliaHttp\\Client\\HttpAsyncClient'); } $this->httpClient = $client; $this->httpAsyncClient = $client; if (!($this->httpClient instanceof HttpClient) && !($client instanceof ClientInterface)) { $this->httpClient = new EmulatedHttpClient($this->httpClient); } if (!($this->httpAsyncClient instanceof HttpAsyncClient)) { $this->httpAsyncClient = new EmulatedHttpAsyncClient($this->httpAsyncClient); } } }
Save
Back