Backport to support requests 0.8.2; fixes #79

This commit is contained in:
Roy Hyunjin Han 2015-06-01 14:17:24 -04:00
commit b288d89c15
7 changed files with 19 additions and 13 deletions

View file

@ -10,6 +10,7 @@ except ImportError:
from .exceptions import (
SocketIOError, ConnectionError, TimeoutError, PacketError)
from .symmetries import _get_text
from .transports import (
_get_response, TRANSPORTS,
_WebsocketTransport, _XHR_PollingTransport, _JSONP_PollingTransport)
@ -515,7 +516,7 @@ def _get_socketIO_session(is_secure, base_url, **kw):
response = _get_response(requests.get, server_url, **kw)
except TimeoutError as e:
raise ConnectionError(e)
response_parts = response.text.split(':')
response_parts = _get_text(response).split(':')
return _SocketIOSession(
id=response_parts[0],
heartbeat_timeout=int(response_parts[1]),

View file

@ -0,0 +1,5 @@
def _get_text(response):
try:
return response.text # requests 2.7.0
except AttributeError:
return response.content # requests 0.8.2

View file

@ -10,6 +10,7 @@ import time
import websocket
from .exceptions import ConnectionError, TimeoutError
from .symmetries import _get_text
if not hasattr(websocket, 'create_connection'):
@ -223,7 +224,7 @@ class _XHR_PollingTransport(_AbstractTransport):
params=self._params,
timeout=timeout or TIMEOUT_IN_SECONDS,
stream=True)
response_text = response.text
response_text = _get_text(response)
if not response_text.startswith(BOUNDARY):
yield response_text
return
@ -279,7 +280,7 @@ class _JSONP_PollingTransport(_AbstractTransport):
params=self._params,
headers={'content-type': 'text/javascript; charset=UTF-8'},
timeout=timeout or TIMEOUT_IN_SECONDS)
response_text = response.text
response_text = _get_text(response)
try:
self._id, response_text = self.RESPONSE_PATTERN.match(
response_text).groups()