]> jfr.im git - z_archive/twitter.git/commitdiff
Use socket.recv to get data in the stream to prevent waiting for complete 1024b chunk...
authorMike Verdone <redacted>
Sat, 3 Dec 2011 17:13:41 +0000 (18:13 +0100)
committerMike Verdone <redacted>
Sat, 3 Dec 2011 17:13:41 +0000 (18:13 +0100)
twitter/stream.py

index 295e49062ea6187747a502efb395cc75240bc3ad..2acdb69421e7fbe0b4eca8a5ec2d8d48504c1262 100644 (file)
@@ -18,7 +18,8 @@ class TwitterJSONIter(object):
 
     def __iter__(self):
         while True:
-            self.buf += self.handle.read(1024)
+            # this is a non-blocking read (ie, it will return if any data is available)
+            self.buf += self.handle.fp._sock.fp._sock.recv(1024)
             try:
                 utf8_buf = self.buf.decode('utf8').lstrip()
                 res, ptr = self.decoder.raw_decode(utf8_buf)
@@ -51,7 +52,7 @@ class TwitterStream(TwitterStreamCall):
     breaks at which point it raises a TwitterHTTPError.)
     """
     def __init__(
-        self, domain="stream.twitter.com", secure=False, auth=None,
+        self, domain="stream.twitter.com", secure=True, auth=None,
         api_version='1'):
         uriparts = ()
         uriparts += (str(api_version),)