PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.1
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.1
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / vendor_prefixed / guzzlehttp / guzzle / src / Handler / Proxy.php

Proxy.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.1, at vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php

50 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace YoastSEO_Vendor\GuzzleHttp\Handler;
4
5 use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
6 use YoastSEO_Vendor\GuzzleHttp\RequestOptions;
7 use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
8 /**
9 * Provides basic proxies for handlers.
10 *
11 * @final
12 */
13 class Proxy
14 {
15 /**
16 * Sends synchronous requests to a specific handler while sending all other
17 * requests to another handler.
18 *
19 * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses
20 * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses.
21 *
22 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
23 */
24 public static function wrapSync(callable $default, callable $sync) : callable
25 {
26 return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $sync) : PromiseInterface {
27 return empty($options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
28 };
29 }
30 /**
31 * Sends streaming requests to a streaming compatible handler while sending
32 * all other requests to a default handler.
33 *
34 * This, for example, could be useful for taking advantage of the
35 * performance benefits of curl while still supporting true streaming
36 * through the StreamHandler.
37 *
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
40 *
41 * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
42 */
43 public static function wrapStreaming(callable $default, callable $streaming) : callable
44 {
45 return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) : PromiseInterface {
46 return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
47 };
48 }
49 }
50