summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-05-29 20:23:32 -0700
committerZach Copley <zach@controlyourself.ca>2009-05-29 20:23:32 -0700
commit791f5defaf07372de6453ac7903a9a32611b0284 (patch)
tree95ee801a7154cf7ca4de63725137031e39114562 /actions
parent78f8b91a13ee07ed3344fd6411a0829a16bef4b1 (diff)
Ticket #1572 - Implement Twitter's account/rate_limit_status API method0.7.4pre1
We don't have a rate limit (yet) but some clients check this method. This dummy implementation always says the auth user has 100 requests left.
Diffstat (limited to 'actions')
-rw-r--r--actions/twitapiaccount.php24
1 files changed, 23 insertions, 1 deletions
diff --git a/actions/twitapiaccount.php b/actions/twitapiaccount.php
index 68a18cb57..8b956f897 100644
--- a/actions/twitapiaccount.php
+++ b/actions/twitapiaccount.php
@@ -98,9 +98,31 @@ class TwitapiaccountAction extends TwitterapiAction
$this->serverError(_('API method under construction.'), $code=501);
}
+ // We don't have a rate limit, but some clients check this method.
+ // It always returns the same thing: 100 hit left.
function rate_limit_status($args, $apidata)
{
parent::handle($args);
- $this->serverError(_('API method under construction.'), $code=501);
+
+ $type = $apidata['content-type'];
+ $this->init_document($type);
+
+ if ($apidata['content-type'] == 'xml') {
+ $this->elementStart('hash');
+ $this->element('remaining-hits', array('type' => 'integer'), 100);
+ $this->element('hourly-limit', array('type' => 'integer'), 100);
+ $this->element('reset-time', array('type' => 'datetime'), null);
+ $this->element('reset_time_in_seconds', array('type' => 'integer'), 0);
+ $this->elementEnd('hash');
+ } elseif ($apidata['content-type'] == 'json') {
+
+ $out = array('reset_time_in_seconds' => 0,
+ 'remaining_hits' => 100,
+ 'hourly_limit' => 100,
+ 'reset_time' => '');
+ print json_encode($out);
+ }
+
+ $this->end_document($type);
}
}