diff options
author | Zach Copley <zach@controlyourself.ca> | 2009-05-29 20:23:32 -0700 |
---|---|---|
committer | Zach Copley <zach@controlyourself.ca> | 2009-05-29 20:23:32 -0700 |
commit | 791f5defaf07372de6453ac7903a9a32611b0284 (patch) | |
tree | 95ee801a7154cf7ca4de63725137031e39114562 /actions/twitapiaccount.php | |
parent | 78f8b91a13ee07ed3344fd6411a0829a16bef4b1 (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/twitapiaccount.php')
-rw-r--r-- | actions/twitapiaccount.php | 24 |
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); } } |