Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
gilour
/
php-http
/
client-common
/
src
:
HttpAsyncClientEmulator.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types=1); namespace Http\Client\Common; use Http\Client\Exception; use Http\Client\Promise; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; /** * Emulates an HTTP Async Client in an HTTP Client. * * @author Márk Sági-Kazár <mark.sagikazar@gmail.com> */ trait HttpAsyncClientEmulator { /** * {@inheritdoc} * * @see HttpClient::sendRequest */ abstract public function sendRequest(RequestInterface $request): ResponseInterface; /** * {@inheritdoc} * * @see HttpAsyncClient::sendAsyncRequest */ public function sendAsyncRequest(RequestInterface $request) { try { return new Promise\HttpFulfilledPromise($this->sendRequest($request)); } catch (Exception $e) { return new Promise\HttpRejectedPromise($e); } } }