WordPress.org

Make WordPress Core

Ticket #11888: 11888-streams-test.diff

File 11888-streams-test.diff, 2.9 KB (added by dd32, 4 years ago)
  • wp-includes/http.php

     
    9891015                        $url = preg_replace('|^' . preg_quote($arrURL['scheme'], '|') . '|', 'http', $url); 
    9901016 
    9911017                // Convert Header array to string. 
    992                 $strHeaders = ''; 
     1018                /*$strHeaders = ''; 
    9931019                if ( is_array( $r['headers'] ) ) 
    9941020                        foreach ( $r['headers'] as $name => $value ) 
    9951021                                $strHeaders .= "{$name}: $value\r\n"; 
    9961022                else if ( is_string( $r['headers'] ) ) 
    997                         $strHeaders = $r['headers']; 
     1023                        $strHeaders = $r['headers'];*/ 
    9981024 
    9991025                $is_local = isset($args['local']) && $args['local']; 
    10001026                $ssl_verify = isset($args['sslverify']) && $args['sslverify']; 
     
    10061032                $arrContext = array('http' => 
    10071033                        array( 
    10081034                                'method' => strtoupper($r['method']), 
    1009                                 'user_agent' => $r['user-agent'], 
     1035                                //'user_agent' => $r['user-agent'], 
    10101036                                'max_redirects' => $r['redirection'] + 1, // See #11557 
    10111037                                'protocol_version' => (float) $r['httpversion'], 
    1012                                 'header' => $strHeaders, 
     1038                                //'header' => $strHeaders, 
    10131039                                'timeout' => $r['timeout'], 
     1040                                'ignore_errors' => true, // Return non-200 requests. 
    10141041                                'ssl' => array( 
    10151042                                                'verify_peer' => $ssl_verify, 
    10161043                                                'verify_host' => $ssl_verify 
     
    10181045                        ) 
    10191046                ); 
    10201047 
     1048                if ( is_null( $r['headers'] ) ) 
     1049                        $r['headers'] = array(); 
     1050 
     1051                if ( is_string($r['headers']) ) { 
     1052                        $processedHeaders = WP_Http::processHeaders($r['headers']); 
     1053                        $r['headers'] = $processedHeaders['headers']; 
     1054                } 
     1055 
     1056                $initial_user_agent = ini_get('user_agent'); 
     1057 
     1058                if ( !empty($r['headers']) && is_array($r['headers']) ) { 
     1059                        $user_agent_extra_headers = ''; 
     1060                        foreach ( $r['headers'] as $header => $value ) 
     1061                                $user_agent_extra_headers .= "\r\n$header: $value"; 
     1062                        @ini_set('user_agent', $r['user-agent'] . $user_agent_extra_headers); 
     1063                } else { 
     1064                        @ini_set('user_agent', $r['user-agent']); 
     1065                } 
     1066 
    10211067                $proxy = new WP_HTTP_Proxy(); 
    10221068 
    10231069                if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) { 
     
    10391088                else 
    10401089                        $handle = fopen($url, 'r', false, $context); 
    10411090 
    1042                 if ( ! $handle) 
     1091                if ( ! $handle ) 
    10431092                        return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url)); 
    10441093 
    10451094                $timeout = (int) floor( $r['timeout'] ); 
     
    10491098                if ( ! $r['blocking'] ) { 
    10501099                        stream_set_blocking($handle, 0); 
    10511100                        fclose($handle); 
     1101                        @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added 
    10521102                        return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); 
    10531103                } 
    10541104 
     
    10571107 
    10581108                fclose($handle); 
    10591109 
     1110                @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added 
     1111 
    10601112                $processedHeaders = array(); 
    10611113                if ( isset( $meta['wrapper_data']['headers'] ) ) 
    10621114                        $processedHeaders = WP_Http::processHeaders($meta['wrapper_data']['headers']);