From 318ac983e27067d1a9bc23b531b0da70ab2ffb7c Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 18 Apr 2007 20:35:45 +0000 Subject: - Patch #137138 by jvandyk: fixed problem with drupal_http_request() not setting the proper error code when a network effect occurs. Causes the XML-RPC backend to fail. --- includes/common.inc | 5 ++++- includes/xmlrpc.inc | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'includes') diff --git a/includes/common.inc b/includes/common.inc index 3aa5f0282..1da216095 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -431,7 +431,10 @@ function drupal_http_request($url, $headers = array(), $method = 'GET', $data = // Make sure the socket opened properly. if (!$fp) { - $result->error = trim($errno .' '. $errstr); + // When a network error occurs, we make sure that it is a negative + // number so it can clash with the HTTP status codes. + $result->code = -$errno; + $result->error = trim($errstr); return $result; } diff --git a/includes/xmlrpc.inc b/includes/xmlrpc.inc index f9e0886e2..c03b7b25c 100644 --- a/includes/xmlrpc.inc +++ b/includes/xmlrpc.inc @@ -440,7 +440,7 @@ function _xmlrpc() { $xmlrpc_request = xmlrpc_request($method, $args); $result = drupal_http_request($url, array("Content-Type" => "text/xml"), 'POST', $xmlrpc_request->xml); if ($result->code != 200) { - xmlrpc_error(-$result->code, $result->error); + xmlrpc_error($result->code, $result->error); return FALSE; } $message = xmlrpc_message($result->data); -- cgit v1.2.3