Add stream=True #45

This commit is contained in:
Roy Hyunjin Han 2015-02-15 08:48:27 -05:00
commit 5f7937dc1e
15 changed files with 29 additions and 394 deletions

View file

@ -12,6 +12,7 @@ from .exceptions import ConnectionError, TimeoutError, PacketError
from .transports import _get_response, _negotiate_transport, TRANSPORTS
__version__ = '0.5.4'
_SocketIOSession = namedtuple('_SocketIOSession', [
'id',
'heartbeat_timeout',

View file

@ -171,6 +171,15 @@ class BaseMixin(object):
'ack_callback_response': (PAYLOAD,),
})
"""
def test_rapid_fire(self):
'Capture all server events'
namespace = self.socketIO.define(Namespace)
self.socketIO.emit('rapid_fire')
self.socketIO.wait(30)
self.assertEqual(namespace.messages, range(100000))
"""
class Test_WebsocketTransport(TestCase, BaseMixin):
@ -202,6 +211,7 @@ class Namespace(BaseNamespace):
self.response = None
self.args_by_event = {}
self.called_on_disconnect = False
self.messages = []
def on_disconnect(self):
self.called_on_disconnect = True
@ -217,3 +227,6 @@ class Namespace(BaseNamespace):
def on_wait_with_disconnect_response(self):
self.disconnect()
def on_rapid_fire(self, x):
self.messages.append(x)

View file

@ -204,7 +204,8 @@ class _XHR_PollingTransport(_AbstractTransport):
self._http_session.get,
self._url,
params=self._params,
timeout=TIMEOUT_IN_SECONDS)
timeout=TIMEOUT_IN_SECONDS,
stream=True)
response_text = response.text
if not response_text.startswith(BOUNDARY):
yield response_text