PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / trunk
Yoast SEO – Advanced SEO with real-time guidance and built-in AI vtrunk
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
← All changes | vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php +0 -74 28.3 → trunk View file →
@@ -1,74 +1,0 @@
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 - * Sends requests to a fallback handler when the default cURL handler cannot
51 - * honor TLS 1.2 selection.
52 - *
53 - * @param callable(RequestInterface, array): PromiseInterface $default
54 - * @param callable(RequestInterface, array): PromiseInterface $fallback
55 - *
56 - * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
57 - */
58 - public static function wrapTlsFallback(callable $default, callable $fallback) : callable
59 - {
60 - return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $fallback) : PromiseInterface {
61 - if (self::requiresTls12Fallback($options)) {
62 - return $fallback($request, $options);
63 - }
64 - return $default($request, $options);
65 - };
66 - }
67 - /**
68 - * @param array<string, mixed> $options
69 - */
70 - private static function requiresTls12Fallback(array $options) : bool
71 - {
72 - return isset($options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::CRYPTO_METHOD]) && $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::CRYPTO_METHOD] === \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT && !\YoastSEO_Vendor\GuzzleHttp\Handler\CurlVersion::supportsTls12();
73 - }
74 -}