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 +25 -0 27.9 → trunk View file →
@@ -45,5 +45,30 @@
45 45 return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) : PromiseInterface {
46 46 return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
47 47 };
48 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 + }
49 74 }