Make WordPress Core

Ticket #16855: 16855.3.patch

File 16855.3.patch, 2.2 KB (added by hakre, 13 years ago)

plus 'followlocation' for WP HTTP Stream Transport (for your reading pleasure)

  • wp-includes/class-http.php

    ### Eclipse Workspace Patch 1.0
    #P wordpress-trunk
     
    981981        function request($url, $args = array()) {
    982982                $defaults = array(
    983983                        'method' => 'GET', 'timeout' => 5,
    984                         'redirection' => 5, 'httpversion' => '1.0',
     984                        'redirection' => 5, 'followlocation' => true,
     985                        'httpversion' => '1.0',
    985986                        'blocking' => true,
    986987                        'headers' => array(), 'body' => null, 'cookies' => array()
    987988                );
     
    10271028                                'method' => strtoupper($r['method']),
    10281029                                'user_agent' => $r['user-agent'],
    10291030                                'max_redirects' => $r['redirection'] + 1, // See #11557
     1031                                'follow_location' => (int) $r['followlocation'],
    10301032                                'protocol_version' => (float) $r['httpversion'],
    10311033                                'header' => $strHeaders,
    10321034                                'ignore_errors' => true, // Return non-200 requests.
     
    13041306        function request($url, $args = array()) {
    13051307                $defaults = array(
    13061308                        'method' => 'GET', 'timeout' => 5,
    1307                         'redirection' => 5, 'httpversion' => '1.0',
    1308                         'blocking' => true,
     1309                        'redirection' => 5, 'followlocation' => !(ini_get('safe_mode') || ini_get('open_basedir')),
     1310                        'httpversion' => '1.0', 'blocking' => true,
    13091311                        'headers' => array(), 'body' => null, 'cookies' => array()
    13101312                );
    13111313
     
    13671369                curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify );
    13681370                curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] );
    13691371                curl_setopt( $handle, CURLOPT_MAXREDIRS, $r['redirection'] );
     1372                curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, $r['followlocation'] );
    13701373
    13711374                switch ( $r['method'] ) {
    13721375                        case 'HEAD':
     
    14481451                curl_close( $handle );
    14491452
    14501453                // See #11305 - When running under safe mode, redirection is disabled above. Handle it manually.
    1451                 if ( !empty($theHeaders['headers']['location']) && (ini_get('safe_mode') || ini_get('open_basedir')) ) {
     1454                if ( $r['followlocation'] && !empty($theHeaders['headers']['location']) && (ini_get('safe_mode') || ini_get('open_basedir')) ) {
    14521455                        if ( $r['redirection']-- > 0 ) {
    14531456                                return $this->request($theHeaders['headers']['location'], $r);
    14541457                        } else {