WordPress.org

Make WordPress Core

Ticket #24598: ixr_client_filter.diff

File ixr_client_filter.diff, 1.5 KB (added by ericmann, 5 years 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 ) );