From 1b0121a841b94e655a6220ca292d5998f04707a0 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Tue, 15 Sep 2015 02:54:24 +0000 Subject: [PATCH] Add a filter to allow custom headers to be sent via the WP HTTP IXR client: `'wp_http_ixr_client_headers'`. Props ericmann. Fixes #24598. Built from https://develop.svn.wordpress.org/trunk@34164 git-svn-id: http://core.svn.wordpress.org/trunk@34132 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-http-ixr-client.php | 21 +++++++++++++++++---- wp-includes/version.php | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/wp-includes/class-wp-http-ixr-client.php b/wp-includes/class-wp-http-ixr-client.php index e0309bf9f4..769aa17669 100644 --- a/wp-includes/class-wp-http-ixr-client.php +++ b/wp-includes/class-wp-http-ixr-client.php @@ -64,15 +64,27 @@ class WP_HTTP_IXR_Client extends IXR_Client { ); // Merge Custom headers ala #8145 - foreach ( $this->headers as $header => $value ) + foreach ( $this->headers as $header => $value ) { $args['headers'][$header] = $value; + } - if ( $this->timeout !== false ) + /** + * Filter to allow custom headers to be sent + * + * @since 4.4.0 + * + * @param array $headers Header collection to be sent to the XML-RPC server. + */ + $args['headers'] = apply_filters( 'wp_http_ixr_client_headers', $args['headers'] ); + + if ( $this->timeout !== false ) { $args['timeout'] = $this->timeout; + } // Now send the request - if ( $this->debug ) + if ( $this->debug ) { echo '
' . htmlspecialchars($xml) . "\n
\n\n"; + } $response = wp_remote_post($url, $args); @@ -88,8 +100,9 @@ class WP_HTTP_IXR_Client extends IXR_Client { return false; } - if ( $this->debug ) + if ( $this->debug ) { echo '
' . htmlspecialchars( wp_remote_retrieve_body( $response ) ) . "\n
\n\n"; + } // Now parse what we've got back $this->message = new IXR_Message( wp_remote_retrieve_body( $response ) ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 52d5275509..a7fea8b0a0 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.4-alpha-34163'; +$wp_version = '4.4-alpha-34164'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.