summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2007-04-18 20:35:45 +0000
committerDries Buytaert <dries@buytaert.net>2007-04-18 20:35:45 +0000
commit318ac983e27067d1a9bc23b531b0da70ab2ffb7c (patch)
tree06a24cfa54a927f1336d7f1639b3eda9faa0a382 /includes
parentbcfc0e651cf59937df63caa42410556cb37dff31 (diff)
downloadbrdo-318ac983e27067d1a9bc23b531b0da70ab2ffb7c.tar.gz
brdo-318ac983e27067d1a9bc23b531b0da70ab2ffb7c.tar.bz2
- 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.
Diffstat (limited to 'includes')
-rw-r--r--includes/common.inc5
-rw-r--r--includes/xmlrpc.inc2
2 files changed, 5 insertions, 2 deletions
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);