diff options
author | Zach Copley <zach@status.net> | 2009-12-14 07:33:29 +0000 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2009-12-14 07:33:29 +0000 |
commit | 656d29080a3369d3037959e3ecdd62d36a7cc5e1 (patch) | |
tree | 12a5b77ad4b1e99b4f3be56caf5ff0ce22ea51f8 /plugins/TwitterBridge/twitterbasicauthclient.php | |
parent | 745e35ac1fcee01298db09a8649f79f410138652 (diff) |
Fix Twitter bridge so it responds reasonably to authorization errors.
Diffstat (limited to 'plugins/TwitterBridge/twitterbasicauthclient.php')
-rw-r--r-- | plugins/TwitterBridge/twitterbasicauthclient.php | 23 |
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(); } |