PluginProbe
DecaLog / 4.4.0
DecaLog v4.4.0
3.0.2 3.1.0 3.10.0 3.2.0 3.3.0 3.4.0 3.4.1 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.7.0 3.7.1 3.8.0 3.9.0 3.9.1 4.0.0 4.1.0 4.2.0 4.3.0 4.3.1 4.4.0 4.5.0 All 75 releases
decalog / includes / libraries / http / client-common / HttpClientEmulator.php

HttpClientEmulator.php in DecaLog 4.4.0, at includes/libraries/http/client-common/HttpClientEmulator.php

36 lines 716 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Http\Client\Common;
6
7 use Psr\Http\Message\RequestInterface;
8 use Psr\Http\Message\ResponseInterface;
9
10 /**
11 * Emulates an HTTP Client in an HTTP Async Client.
12 *
13 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
14 */
15 trait HttpClientEmulator
16 {
17 /**
18 * {@inheritdoc}
19 *
20 * @see HttpClient::sendRequest
21 */
22 public function sendRequest(RequestInterface $request): ResponseInterface
23 {
24 $promise = $this->sendAsyncRequest($request);
25
26 return $promise->wait();
27 }
28
29 /**
30 * {@inheritdoc}
31 *
32 * @see HttpAsyncClient::sendAsyncRequest
33 */
34 abstract public function sendAsyncRequest(RequestInterface $request);
35 }
36