This is what the 200 response is looking like:

[u...@cl-t090-563cl bin]$ time curl -Lsim 10 
http://twitter.com/account/rate_limit_status.xml
HTTP/1.0 200 OK
Connection: Close
Pragma: no-cache
cache-control: no-cache
Refresh: 0.1
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd";>
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd";> -->
<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="0.1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<TITLE></TITLE>
</HEAD>
<BODY><P></BODY>
</HTML>

real    0m0.100s
user    0m0.002s
sys     0m0.004s
[u...@cl-t090-563cl bin]$ time curl -Lsim 10 
http://twitter.com/account/rate_limit_status.xml
HTTP/1.1 200 OK
Date: Sun, 09 Aug 2009 07:17:05 GMT
Server: hi
Last-Modified: Sun, 09 Aug 2009 07:17:05 GMT
Status: 200 OK
ETag: "d3498c2414150299df3cc1f6bb73b92c"
Pragma: no-cache
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Type: application/xml; charset=utf-8
Content-Length: 302
Expires: Tue, 31 Mar 1981 05:00:00 GMT
X-Revision: 5a9a0d1ff0ba64c181510974278cfccc10e77d0b
X-Transaction: 1249802225-83448-6420
Set-Cookie: 
_twitter_sess=BAh7BzoHaWQiJWVkNjk5Njk2YWNhNjQ3ZjgyOGQzNzdjNTAzMTE3ZjBmIgpm%250AbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAG%250AOgpAdXNlZHsA--639086f2287f85ef9e07f98d16adcce416b79e8d;
 domain=.twitter.com; path=/
Vary: Accept-Encoding
Connection: close

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <remaining-hits type="integer">150</remaining-hits>
  <hourly-limit type="integer">150</hourly-limit>
  <reset-time-in-seconds type="integer">1249805825</reset-time-in-seconds>
  <reset-time type="datetime">2009-08-09T08:17:05+00:00</reset-time>
</hash>

real    0m0.184s
user    0m0.002s
sys     0m0.003s

In a browser that would be functionally the same as a 302, but I'm not
using a browser so the semantics are kind of important.

It *seems* to happen whenever I hit the API with a cold request. Pure
speculation. If I think of a way to test it, I will do so.

Chris Babcock

Reply via email to