Coding Standards clean-up, Variable typo fix ($errstr), Svn property correction. See #10588

git-svn-id: http://svn.automattic.com/wordpress/trunk@16871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
dd32 2010-12-11 05:51:49 +00:00
parent c7ce2852c2
commit 3d4b847fbb
1 changed files with 58 additions and 64 deletions

View File

@ -6,92 +6,86 @@
* @since 3.1.0 * @since 3.1.0
* *
*/ */
class WP_HTTP_IXR_Client extends IXR_Client class WP_HTTP_IXR_Client extends IXR_Client {
{ function WP_HTTP_IXR_Client($server, $path = false, $port = 80, $timeout = 15) {
function WP_HTTP_IXR_Client($server, $path = false, $port = 80, $timeout = 15) if ( ! $path ) {
{ // Assume we have been given a URL instead
if (!$path) { $bits = parse_url($server);
// Assume we have been given a URL instead $this->scheme = $bits['scheme'];
$bits = parse_url($server); $this->server = $bits['host'];
$this->scheme = $bits['scheme']; $this->port = isset($bits['port']) ? $bits['port'] : 80;
$this->server = $bits['host']; $this->path = !empty($bits['path']) ? $bits['path'] : '/';
$this->port = isset($bits['port']) ? $bits['port'] : 80;
$this->path = isset($bits['path']) ? $bits['path'] : '/';
// Make absolutely sure we have a path // Make absolutely sure we have a path
if (!$this->path) { if ( ! $this->path )
$this->path = '/'; $this->path = '/';
} } else {
} else { $this->scheme = 'http';
$this->scheme = 'http'; $this->server = $server;
$this->server = $server; $this->path = $path;
$this->path = $path; $this->port = $port;
$this->port = $port; }
} $this->useragent = 'The Incutio XML-RPC PHP Library';
$this->useragent = 'The Incutio XML-RPC PHP Library'; $this->timeout = $timeout;
$this->timeout = $timeout; }
}
function query() function query() {
{ $args = func_get_args();
$args = func_get_args(); $method = array_shift($args);
$method = array_shift($args); $request = new IXR_Request($method, $args);
$request = new IXR_Request($method, $args); $xml = $request->getXml();
$xml = $request->getXml();
$url = $this->scheme . '://' . $this->server . ':' . $this->port . $this->path; $url = $this->scheme . '://' . $this->server . ':' . $this->port . $this->path;
$args = array( $args = array(
'headers' => array('Content-Type' => 'text/xml'), 'headers' => array('Content-Type' => 'text/xml'),
'user-agent' => $this->useragent, 'user-agent' => $this->useragent,
'body' => $xml, 'body' => $xml,
); );
// Merge Custom headers ala #8145 // Merge Custom headers ala #8145
foreach ( $this->headers as $header => $value ) foreach ( $this->headers as $header => $value )
$args['headers'][$header] = $value; $args['headers'][$header] = $value;
if ( $this->timeout !== false ) if ( $this->timeout !== false )
$args['timeout'] = $this->timeout; $args['timeout'] = $this->timeout;
// Now send the request // Now send the request
if ($this->debug) { if ( $this->debug )
echo '<pre class="ixr_request">'.htmlspecialchars($xml)."\n</pre>\n\n"; echo '<pre class="ixr_request">' . htmlspecialchars($xml) . "\n</pre>\n\n";
}
$response = wp_remote_post($url, $args); $response = wp_remote_post($url, $args);
if ( is_wp_error($response) ) { if ( is_wp_error($response) ) {
$errno = $response->get_error_code(); $errno = $response->get_error_code();
$errorstr = $response->get_error_message(); $errorstr = $response->get_error_message();
$this->error = new IXR_Error(-32300, "transport error: $errno $errstr"); $this->error = new IXR_Error(-32300, "transport error: $errno $errorstr");
return false; return false;
} }
$code = $response['response']['code']; if ( $response['response']['code'] != 200 ) {
if ( $code != 200 ) { $this->error = new IXR_Error(-32301, "transport error - HTTP status code was not 200 ({$response['response']['code']})");
$this->error = new IXR_Error(-32301, "transport error - HTTP status code was not 200 ($code)"); return false; return false;
} }
if ($this->debug) { if ( $this->debug )
echo '<pre class="ixr_response">'.htmlspecialchars($response['body'])."\n</pre>\n\n"; echo '<pre class="ixr_response">' . htmlspecialchars($response['body']) . "\n</pre>\n\n";
}
// Now parse what we've got back // Now parse what we've got back
$this->message = new IXR_Message( $response['body'] ); $this->message = new IXR_Message( $response['body'] );
if (!$this->message->parse()) { if ( ! $this->message->parse() ) {
// XML error // XML error
$this->error = new IXR_Error(-32700, 'parse error. not well formed'); $this->error = new IXR_Error(-32700, 'parse error. not well formed');
return false; return false;
} }
// Is the message a fault? // Is the message a fault?
if ($this->message->messageType == 'fault') { if ( $this->message->messageType == 'fault' ) {
$this->error = new IXR_Error($this->message->faultCode, $this->message->faultString); $this->error = new IXR_Error($this->message->faultCode, $this->message->faultString);
return false; return false;
} }
// Message must be OK // Message must be OK
return true; return true;
} }
} }
?> ?>