C:\xampp\htdocs\landing\wp-content\plugins\wordpress-seo\src\wrappers\wp-remote-handler.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?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 __invokeRequestInterface $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$request->getUri(), $args );
        if ( \
is_wp_error$raw_response ) ) {
            
$exception = new Exception$raw_response->get_error_message(), $raw_response->get_error_code() );
            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 );
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586