Changeset 45667 for trunk/src/wp-includes/class-wp-http-streams.php
- Timestamp:
- 07/25/2019 12:47:53 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-http-streams.php
r45611 r45667 39 39 ); 40 40 41 $ r= wp_parse_args( $args, $defaults );42 43 if ( isset( $ r['headers']['User-Agent'] ) ) {44 $ r['user-agent'] = $r['headers']['User-Agent'];45 unset( $ r['headers']['User-Agent'] );46 } elseif ( isset( $ r['headers']['user-agent'] ) ) {47 $ r['user-agent'] = $r['headers']['user-agent'];48 unset( $ r['headers']['user-agent'] );41 $parsed_args = wp_parse_args( $args, $defaults ); 42 43 if ( isset( $parsed_args['headers']['User-Agent'] ) ) { 44 $parsed_args['user-agent'] = $parsed_args['headers']['User-Agent']; 45 unset( $parsed_args['headers']['User-Agent'] ); 46 } elseif ( isset( $parsed_args['headers']['user-agent'] ) ) { 47 $parsed_args['user-agent'] = $parsed_args['headers']['user-agent']; 48 unset( $parsed_args['headers']['user-agent'] ); 49 49 } 50 50 51 51 // Construct Cookie: header if any cookies are set. 52 WP_Http::buildCookieHeader( $ r);52 WP_Http::buildCookieHeader( $parsed_args ); 53 53 54 54 $arrURL = parse_url( $url ); … … 71 71 } 72 72 73 if ( isset( $ r['headers']['Host'] ) || isset( $r['headers']['host'] ) ) {74 if ( isset( $ r['headers']['Host'] ) ) {75 $arrURL['host'] = $ r['headers']['Host'];73 if ( isset( $parsed_args['headers']['Host'] ) || isset( $parsed_args['headers']['host'] ) ) { 74 if ( isset( $parsed_args['headers']['Host'] ) ) { 75 $arrURL['host'] = $parsed_args['headers']['Host']; 76 76 } else { 77 $arrURL['host'] = $ r['headers']['host'];78 } 79 unset( $ r['headers']['Host'], $r['headers']['host'] );77 $arrURL['host'] = $parsed_args['headers']['host']; 78 } 79 unset( $parsed_args['headers']['Host'], $parsed_args['headers']['host'] ); 80 80 } 81 81 … … 91 91 $connect_host = $secure_transport ? 'ssl://' . $connect_host : 'tcp://' . $connect_host; 92 92 93 $is_local = isset( $ r['local'] ) && $r['local'];94 $ssl_verify = isset( $ r['sslverify'] ) && $r['sslverify'];93 $is_local = isset( $parsed_args['local'] ) && $parsed_args['local']; 94 $ssl_verify = isset( $parsed_args['sslverify'] ) && $parsed_args['sslverify']; 95 95 if ( $is_local ) { 96 96 /** … … 118 118 'capture_peer_cert' => $ssl_verify, 119 119 'SNI_enabled' => true, 120 'cafile' => $ r['sslcertificates'],120 'cafile' => $parsed_args['sslcertificates'], 121 121 'allow_self_signed' => ! $ssl_verify, 122 122 ), … … 124 124 ); 125 125 126 $timeout = (int) floor( $ r['timeout'] );127 $utimeout = $timeout == $ r['timeout'] ? 0 : 1000000 * $r['timeout'] % 1000000;126 $timeout = (int) floor( $parsed_args['timeout'] ); 127 $utimeout = $timeout == $parsed_args['timeout'] ? 0 : 1000000 * $parsed_args['timeout'] % 1000000; 128 128 $connect_timeout = max( $timeout, 1 ); 129 129 … … 183 183 } 184 184 185 $strHeaders = strtoupper( $ r['method'] ) . ' ' . $requestPath . ' HTTP/' . $r['httpversion'] . "\r\n";185 $strHeaders = strtoupper( $parsed_args['method'] ) . ' ' . $requestPath . ' HTTP/' . $parsed_args['httpversion'] . "\r\n"; 186 186 187 187 $include_port_in_host_header = ( … … 197 197 } 198 198 199 if ( isset( $ r['user-agent'] ) ) {200 $strHeaders .= 'User-agent: ' . $ r['user-agent'] . "\r\n";201 } 202 203 if ( is_array( $ r['headers'] ) ) {204 foreach ( (array) $ r['headers'] as $header => $headerValue ) {199 if ( isset( $parsed_args['user-agent'] ) ) { 200 $strHeaders .= 'User-agent: ' . $parsed_args['user-agent'] . "\r\n"; 201 } 202 203 if ( is_array( $parsed_args['headers'] ) ) { 204 foreach ( (array) $parsed_args['headers'] as $header => $headerValue ) { 205 205 $strHeaders .= $header . ': ' . $headerValue . "\r\n"; 206 206 } 207 207 } else { 208 $strHeaders .= $ r['headers'];208 $strHeaders .= $parsed_args['headers']; 209 209 } 210 210 … … 215 215 $strHeaders .= "\r\n"; 216 216 217 if ( ! is_null( $ r['body'] ) ) {218 $strHeaders .= $ r['body'];217 if ( ! is_null( $parsed_args['body'] ) ) { 218 $strHeaders .= $parsed_args['body']; 219 219 } 220 220 221 221 fwrite( $handle, $strHeaders ); 222 222 223 if ( ! $ r['blocking'] ) {223 if ( ! $parsed_args['blocking'] ) { 224 224 stream_set_blocking( $handle, 0 ); 225 225 fclose( $handle ); … … 239 239 $keep_reading = true; 240 240 $block_size = 4096; 241 if ( isset( $ r['limit_response_size'] ) ) {242 $block_size = min( $block_size, $ r['limit_response_size'] );241 if ( isset( $parsed_args['limit_response_size'] ) ) { 242 $block_size = min( $block_size, $parsed_args['limit_response_size'] ); 243 243 } 244 244 245 245 // If streaming to a file setup the file handle. 246 if ( $ r['stream'] ) {246 if ( $parsed_args['stream'] ) { 247 247 if ( ! WP_DEBUG ) { 248 $stream_handle = @fopen( $ r['filename'], 'w+' );248 $stream_handle = @fopen( $parsed_args['filename'], 'w+' ); 249 249 } else { 250 $stream_handle = fopen( $ r['filename'], 'w+' );250 $stream_handle = fopen( $parsed_args['filename'], 'w+' ); 251 251 } 252 252 if ( ! $stream_handle ) { … … 257 257 __( 'Could not open handle for %1$s to %2$s.' ), 258 258 'fopen()', 259 $ r['filename']259 $parsed_args['filename'] 260 260 ) 261 261 ); … … 278 278 $this_block_size = strlen( $block ); 279 279 280 if ( isset( $ r['limit_response_size'] ) && ( $bytes_written + $this_block_size ) > $r['limit_response_size'] ) {281 $this_block_size = ( $ r['limit_response_size'] - $bytes_written );280 if ( isset( $parsed_args['limit_response_size'] ) && ( $bytes_written + $this_block_size ) > $parsed_args['limit_response_size'] ) { 281 $this_block_size = ( $parsed_args['limit_response_size'] - $bytes_written ); 282 282 $block = substr( $block, 0, $this_block_size ); 283 283 } … … 293 293 $bytes_written += $bytes_written_to_file; 294 294 295 $keep_reading = ! isset( $ r['limit_response_size'] ) || $bytes_written < $r['limit_response_size'];295 $keep_reading = ! isset( $parsed_args['limit_response_size'] ) || $bytes_written < $parsed_args['limit_response_size']; 296 296 } 297 297 … … 307 307 $bodyStarted = true; 308 308 } 309 $keep_reading = ( ! $bodyStarted || ! isset( $ r['limit_response_size'] ) || strlen( $strResponse ) < ( $header_length + $r['limit_response_size'] ) );309 $keep_reading = ( ! $bodyStarted || ! isset( $parsed_args['limit_response_size'] ) || strlen( $strResponse ) < ( $header_length + $parsed_args['limit_response_size'] ) ); 310 310 } 311 311 … … 325 325 'response' => $arrHeaders['response'], 326 326 'cookies' => $arrHeaders['cookies'], 327 'filename' => $ r['filename'],327 'filename' => $parsed_args['filename'], 328 328 ); 329 329 330 330 // Handle redirects. 331 $redirect_response = WP_Http::handle_redirects( $url, $ r, $response );331 $redirect_response = WP_Http::handle_redirects( $url, $parsed_args, $response ); 332 332 if ( false !== $redirect_response ) { 333 333 return $redirect_response; … … 339 339 } 340 340 341 if ( true === $ r['decompress'] && true === WP_Http_Encoding::should_decode( $arrHeaders['headers'] ) ) {341 if ( true === $parsed_args['decompress'] && true === WP_Http_Encoding::should_decode( $arrHeaders['headers'] ) ) { 342 342 $process['body'] = WP_Http_Encoding::decompress( $process['body'] ); 343 343 } 344 344 345 if ( isset( $ r['limit_response_size'] ) && strlen( $process['body'] ) > $r['limit_response_size'] ) {346 $process['body'] = substr( $process['body'], 0, $ r['limit_response_size'] );345 if ( isset( $parsed_args['limit_response_size'] ) && strlen( $process['body'] ) > $parsed_args['limit_response_size'] ) { 346 $process['body'] = substr( $process['body'], 0, $parsed_args['limit_response_size'] ); 347 347 } 348 348
Note: See TracChangeset
for help on using the changeset viewer.