diff options
Diffstat (limited to 'Postman/Postman-Mail/mailgun/vendor/php-http/client-common/src/HttpClientRouter.php')
-rw-r--r-- | Postman/Postman-Mail/mailgun/vendor/php-http/client-common/src/HttpClientRouter.php | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/Postman/Postman-Mail/mailgun/vendor/php-http/client-common/src/HttpClientRouter.php b/Postman/Postman-Mail/mailgun/vendor/php-http/client-common/src/HttpClientRouter.php deleted file mode 100644 index 9f72133..0000000 --- a/Postman/Postman-Mail/mailgun/vendor/php-http/client-common/src/HttpClientRouter.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php - -namespace Http\Client\Common; - -use Http\Client\Exception\RequestException; -use Http\Client\HttpAsyncClient; -use Http\Client\HttpClient; -use Http\Message\RequestMatcher; -use Psr\Http\Message\RequestInterface; - -/** - * Route a request to a specific client in the stack based using a RequestMatcher. - * - * @author Joel Wurtz <joel.wurtz@gmail.com> - */ -final class HttpClientRouter implements HttpClient, HttpAsyncClient -{ - /** - * @var array - */ - private $clients = []; - - /** - * {@inheritdoc} - */ - public function sendRequest(RequestInterface $request) - { - $client = $this->chooseHttpClient($request); - - return $client->sendRequest($request); - } - - /** - * {@inheritdoc} - */ - public function sendAsyncRequest(RequestInterface $request) - { - $client = $this->chooseHttpClient($request); - - return $client->sendAsyncRequest($request); - } - - /** - * Add a client to the router. - * - * @param HttpClient|HttpAsyncClient $client - * @param RequestMatcher $requestMatcher - */ - public function addClient($client, RequestMatcher $requestMatcher) - { - $this->clients[] = [ - 'matcher' => $requestMatcher, - 'client' => new FlexibleHttpClient($client), - ]; - } - - /** - * Choose an HTTP client given a specific request. - * - * @param RequestInterface $request - * - * @return HttpClient|HttpAsyncClient - */ - protected function chooseHttpClient(RequestInterface $request) - { - foreach ($this->clients as $client) { - if ($client['matcher']->matches($request)) { - return $client['client']; - } - } - - throw new RequestException('No client found for the specified request', $request); - } -} |