diff options
| author | Devendra | 2014-04-30 17:14:09 +0530 | 
|---|---|---|
| committer | Devendra | 2014-04-30 17:14:09 +0530 | 
| commit | 10f345fcf4edb489cf9b86039c030baa62a6881c (patch) | |
| tree | 222417d67b02affa861351042e98075eaeeed2ea /Pubnub.py | |
| parent | e2ccbc05b6ed2696dd8d2d2134b2023c528e1b70 (diff) | |
| download | pubnub-python-10f345fcf4edb489cf9b86039c030baa62a6881c.tar.bz2 | |
adding persistent connectino support
Diffstat (limited to 'Pubnub.py')
| -rw-r--r-- | Pubnub.py | 23 | 
1 files changed, 22 insertions, 1 deletions
| @@ -46,6 +46,11 @@ try:  except ImportError:      import urllib2 +try: +    import requests +except ImportError: +    pass +  import threading  from threading import current_thread @@ -1092,6 +1097,18 @@ def _urllib_request_2(url, timeout=320):      return (resp.read(), resp.code) +s = requests.Session() +def _requests_request(url, timeout=320): +    try: +        resp = s.get(url) +    except requests.exceptions.HTTPError as http_error: +        resp = http_error +    except requests.exceptions.ConnectionError as error: +        msg = {"message": str(error.reason)} +        return (json.dumps(msg), 0) + +    return (resp.text, resp.status_code) +  def _urllib_request_3(url, timeout=320):      try: @@ -1116,7 +1133,8 @@ class PubnubAsync(PubnubCoreAsync):          auth_key=None,          ssl_on=False,          origin='pubsub.pubnub.com', -        pres_uuid=None +        pres_uuid=None, +        pooling=True      ):          super(PubnubAsync, self).__init__(              publish_key=publish_key, @@ -1136,6 +1154,9 @@ class PubnubAsync(PubnubCoreAsync):          else:              _urllib_request = _urllib_request_3 +        if pooling is True: +            _urllib_request = _requests_request +      def timeout(self, interval, func):          def cb():              time.sleep(interval) | 
