Server IP : 104.21.14.48 / Your IP : 3.145.56.6 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/wordpress-seo/src/wrappers/ |
Upload File : |
<?php namespace Yoast\WP\SEO\Wrappers; use Exception; use YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise; use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface; use YoastSEO_Vendor\GuzzleHttp\Promise\RejectedPromise; use YoastSEO_Vendor\GuzzleHttp\Psr7\Response; use YoastSEO_Vendor\Psr\Http\Message\RequestInterface; /** * Wraps wp_remote_get in an interface compatible with Guzzle. */ class WP_Remote_Handler { /** * Calls the handler. * Cookies are currently not supported as they are not used by OAuth. * Writing responses to files is also not supported for the same reason. * * @param RequestInterface $request The request. * @param array $options The request options. * * @return PromiseInterface The promise interface. * * @throws Exception If the request fails. */ public function __invoke( RequestInterface $request, array $options ) { $headers = []; foreach ( $request->getHeaders() as $name => $values ) { $headers[ $name ] = \implode( ',', $values ); } $args = [ 'method' => $request->getMethod(), 'headers' => $headers, 'body' => (string) $request->getBody(), 'httpVersion' => $request->getProtocolVersion(), ]; if ( isset( $options['verify'] ) && $options['verify'] === false ) { $args['sslverify'] = false; } if ( isset( $options['timeout'] ) ) { $args['timeout'] = ( $options['timeout'] * 1000 ); } $raw_response = \wp_remote_request( (string) $request->getUri(), $args ); if ( \is_wp_error( $raw_response ) ) { $exception = new Exception( $raw_response->get_error_message() ); return new RejectedPromise( $exception ); } $response = new Response( $raw_response['response']['code'], $raw_response['headers']->getAll(), $raw_response['body'], $args['httpVersion'], $raw_response['response']['message'] ); return new FulfilledPromise( $response ); } }