PluginProbe
Media Cloud Sync / 1.4.1
Media Cloud Sync v1.4.1
1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 All 35 releases
← All changes | includes/sdk/s3/GuzzleHttp/Handler/Proxy.php +13 -10 1.0.01.4.1 View file →
@@ -1,12 +1,15 @@
1 1 <?php
2 2
3 3 namespace Dudlewebs\WPMCS\s3\GuzzleHttp\Handler;
4 4
5 +use Dudlewebs\WPMCS\s3\GuzzleHttp\Promise\PromiseInterface;
5 6 use Dudlewebs\WPMCS\s3\GuzzleHttp\RequestOptions;
6 7 use Dudlewebs\WPMCS\s3\Psr\Http\Message\RequestInterface;
7 8 /**
8 9 * Provides basic proxies for handlers.
10 + *
11 + * @final
9 12 */
10 13 class Proxy
11 14 {
12 15 /**
@@ -12,16 +15,16 @@
12 15 /**
13 16 * Sends synchronous requests to a specific handler while sending all other
14 17 * requests to another handler.
15 18 *
16 - * @param callable $default Handler used for normal responses
17 - * @param callable $sync Handler used for synchronous responses.
19 + * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses
20 + * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses.
18 21 *
19 - * @return callable Returns the composed handler.
22 + * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
20 23 */
21 - public static function wrapSync(callable $default, callable $sync)
24 + public static function wrapSync(callable $default, callable $sync) : callable
22 25 {
23 - return function (RequestInterface $request, array $options) use($default, $sync) {
26 + return static function (RequestInterface $request, array $options) use($default, $sync) : PromiseInterface {
24 27 return empty($options[RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
25 28 };
26 29 }
27 30 /**
@@ -31,16 +34,16 @@
31 34 * This, for example, could be useful for taking advantage of the
32 35 * performance benefits of curl while still supporting true streaming
33 36 * through the StreamHandler.
34 37 *
35 - * @param callable $default Handler used for non-streaming responses
36 - * @param callable $streaming Handler used for streaming responses
38 + * @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses
39 + * @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses
37 40 *
38 - * @return callable Returns the composed handler.
41 + * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
39 42 */
40 - public static function wrapStreaming(callable $default, callable $streaming)
43 + public static function wrapStreaming(callable $default, callable $streaming) : callable
41 44 {
42 - return function (RequestInterface $request, array $options) use($default, $streaming) {
45 + return static function (RequestInterface $request, array $options) use($default, $streaming) : PromiseInterface {
43 46 return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
44 47 };
45 48 }
46 49 }