summaryrefslogtreecommitdiff
path: root/plugins/TwitterBridge/twitterbasicauthclient.php
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2009-12-14 07:33:29 +0000
committerZach Copley <zach@status.net>2009-12-14 07:33:29 +0000
commit656d29080a3369d3037959e3ecdd62d36a7cc5e1 (patch)
tree12a5b77ad4b1e99b4f3be56caf5ff0ce22ea51f8 /plugins/TwitterBridge/twitterbasicauthclient.php
parent745e35ac1fcee01298db09a8649f79f410138652 (diff)
Fix Twitter bridge so it responds reasonably to authorization errors.
Diffstat (limited to 'plugins/TwitterBridge/twitterbasicauthclient.php')
-rw-r--r--plugins/TwitterBridge/twitterbasicauthclient.php23
1 files changed, 22 insertions, 1 deletions
diff --git a/plugins/TwitterBridge/twitterbasicauthclient.php b/plugins/TwitterBridge/twitterbasicauthclient.php
index 7ee8d7d4c..fd26293f9 100644
--- a/plugins/TwitterBridge/twitterbasicauthclient.php
+++ b/plugins/TwitterBridge/twitterbasicauthclient.php
@@ -32,6 +32,20 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
}
/**
+ * General Exception wrapper for HTTP basic auth errors
+ *
+ * @category Integration
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ */
+class BasicAuthException extends Exception
+{
+}
+
+/**
* Class for talking to the Twitter API with HTTP Basic Auth.
*
* @category Integration
@@ -169,12 +183,13 @@ class TwitterBasicAuthClient
}
/**
- * Make a HTTP request using cURL.
+ * Make an HTTP request
*
* @param string $url Where to make the request
* @param array $params post parameters
*
* @return mixed the request
+ * @throws BasicAuthException
*/
function httpRequest($url, $params = null, $auth = true)
{
@@ -199,6 +214,12 @@ class TwitterBasicAuthClient
$response = $request->get($url);
}
+ $code = $response->getStatus();
+
+ if ($code < 200 || $code >= 400) {
+ throw new BasicAuthException($response->getBody(), $code);
+ }
+
return $response->getBody();
}