WordPress.org

Make WordPress Core

Ticket #24598: ixr_client_filter.diff

File ixr_client_filter.diff, 1.5 KB (added by ericmann, 10 months ago)

Patch adding a filter to request headers.

  • wp-includes/class-wp-http-ixr-client.php

     
    1818                        $this->path = !empty($bits['path']) ? $bits['path'] : '/'; 
    1919 
    2020                        // Make absolutely sure we have a path 
    21                         if ( ! $this->path ) 
     21                        if ( ! $this->path ) { 
    2222                                $this->path = '/'; 
     23                        } 
    2324                } else { 
    2425                        $this->scheme = 'http'; 
    2526                        $this->server = $server; 
     
    4546                ); 
    4647 
    4748                // Merge Custom headers ala #8145 
    48                 foreach ( $this->headers as $header => $value ) 
     49                foreach ( $this->headers as $header => $value ) { 
    4950                        $args['headers'][$header] = $value; 
     51                } 
    5052 
    51                 if ( $this->timeout !== false ) 
     53                // Filter headers for other custom data 
     54                $args['headers'] = apply_filters( 'wp_http_ixr_client_headers', $args['headers'] ); 
     55 
     56                if ( $this->timeout !== false ) { 
    5257                        $args['timeout'] = $this->timeout; 
     58                } 
    5359 
    5460                // Now send the request 
    55                 if ( $this->debug ) 
     61                if ( $this->debug ) { 
    5662                        echo '<pre class="ixr_request">' . htmlspecialchars($xml) . "\n</pre>\n\n"; 
     63                } 
    5764 
    5865                $response = wp_remote_post($url, $args); 
    5966 
     
    6976                        return false; 
    7077                } 
    7178 
    72                 if ( $this->debug ) 
     79                if ( $this->debug ) { 
    7380                        echo '<pre class="ixr_response">' . htmlspecialchars( wp_remote_retrieve_body( $response ) ) . "\n</pre>\n\n"; 
     81                } 
    7482 
    7583                // Now parse what we've got back 
    7684                $this->message = new IXR_Message( wp_remote_retrieve_body( $response ) );