diff --git a/ably/http/http.py b/ably/http/http.py index e47ffb8f..6a5a4f71 100644 --- a/ably/http/http.py +++ b/ably/http/http.py @@ -146,7 +146,8 @@ def get_rest_hosts(self): if host is None: return hosts - if time.time() > self.__host_expires: + # unstore saved fallback host after fallbackRetryTimeout (RSC15f) + if self.__host_expires is not None and time.time() > self.__host_expires: self.__host = None self.__host_expires = None return hosts diff --git a/test/unit/http_test.py b/test/unit/http_test.py new file mode 100644 index 00000000..5bc50a63 --- /dev/null +++ b/test/unit/http_test.py @@ -0,0 +1,7 @@ +from ably import AblyRest + + +def test_http_get_rest_hosts_does_not_fail_when_fallback_realtime_host_is_set(): + ably = AblyRest(token="foo") + ably.options.fallback_realtime_host = 'fake-host.ably.io' + assert ably.http.get_rest_hosts()