Ticket #11888: 11888-streams-test.diff
| File 11888-streams-test.diff, 2.9 KB (added by , 16 years ago) |
|---|
-
wp-includes/http.php
989 1015 $url = preg_replace('|^' . preg_quote($arrURL['scheme'], '|') . '|', 'http', $url); 990 1016 991 1017 // Convert Header array to string. 992 $strHeaders = '';1018 /*$strHeaders = ''; 993 1019 if ( is_array( $r['headers'] ) ) 994 1020 foreach ( $r['headers'] as $name => $value ) 995 1021 $strHeaders .= "{$name}: $value\r\n"; 996 1022 else if ( is_string( $r['headers'] ) ) 997 $strHeaders = $r['headers']; 1023 $strHeaders = $r['headers'];*/ 998 1024 999 1025 $is_local = isset($args['local']) && $args['local']; 1000 1026 $ssl_verify = isset($args['sslverify']) && $args['sslverify']; … … 1006 1032 $arrContext = array('http' => 1007 1033 array( 1008 1034 'method' => strtoupper($r['method']), 1009 'user_agent' => $r['user-agent'],1035 //'user_agent' => $r['user-agent'], 1010 1036 'max_redirects' => $r['redirection'] + 1, // See #11557 1011 1037 'protocol_version' => (float) $r['httpversion'], 1012 'header' => $strHeaders,1038 //'header' => $strHeaders, 1013 1039 'timeout' => $r['timeout'], 1040 'ignore_errors' => true, // Return non-200 requests. 1014 1041 'ssl' => array( 1015 1042 'verify_peer' => $ssl_verify, 1016 1043 'verify_host' => $ssl_verify … … 1018 1045 ) 1019 1046 ); 1020 1047 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 1021 1067 $proxy = new WP_HTTP_Proxy(); 1022 1068 1023 1069 if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) { … … 1039 1088 else 1040 1089 $handle = fopen($url, 'r', false, $context); 1041 1090 1042 if ( ! $handle )1091 if ( ! $handle ) 1043 1092 return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url)); 1044 1093 1045 1094 $timeout = (int) floor( $r['timeout'] ); … … 1049 1098 if ( ! $r['blocking'] ) { 1050 1099 stream_set_blocking($handle, 0); 1051 1100 fclose($handle); 1101 @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added 1052 1102 return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); 1053 1103 } 1054 1104 … … 1057 1107 1058 1108 fclose($handle); 1059 1109 1110 @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added 1111 1060 1112 $processedHeaders = array(); 1061 1113 if ( isset( $meta['wrapper_data']['headers'] ) ) 1062 1114 $processedHeaders = WP_Http::processHeaders($meta['wrapper_data']['headers']);