diff options
author | Brion Vibber <brion@pobox.com> | 2009-10-28 15:29:20 -0400 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2009-11-02 06:31:28 -0800 |
commit | fa37967858c3c29000797e510e5f98aca8ab558f (patch) | |
tree | 994b75c5651431c99ff38bc4f9fc3f48d7d389a6 /lib/ping.php | |
parent | 8e64723813525f3911e3402f4ccf84d8813ce25a (diff) |
Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.
* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries
Note some plugins haven't been tested yet.
Diffstat (limited to 'lib/ping.php')
-rw-r--r-- | lib/ping.php | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/ping.php b/lib/ping.php index 175bf8440..2797c1b2d 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -44,20 +44,18 @@ function ping_broadcast_notice($notice) { array('nickname' => $profile->nickname)), $tags)); - $context = stream_context_create(array('http' => array('method' => "POST", - 'header' => - "Content-Type: text/xml\r\n". - "User-Agent: StatusNet/".STATUSNET_VERSION."\r\n", - 'content' => $req))); - $file = file_get_contents($notify_url, false, $context); + $request = new HTTPClient($notify_url, HTTP_Request2::METHOD_POST); + $request->setHeader('Content-Type', 'text/xml'); + $request->setBody($req); + $httpResponse = $request->send(); - if ($file === false || mb_strlen($file) == 0) { + if (!$httpResponse || mb_strlen($httpResponse->getBody()) == 0) { common_log(LOG_WARNING, "XML-RPC empty results for ping ($notify_url, $notice->id) "); continue; } - $response = xmlrpc_decode($file); + $response = xmlrpc_decode($httpResponse->getBody()); if (is_array($response) && xmlrpc_is_fault($response)) { common_log(LOG_WARNING, |