From 3d4a4debd389b15e5fa5675cac052170fedab049 Mon Sep 17 00:00:00 2001 From: Jefferson Date: Wed, 22 May 2019 17:39:01 -0300 Subject: [PATCH] add httptimeout to listener ( #287) --- firebase_admin/_sseclient.py | 5 +++-- firebase_admin/db.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/firebase_admin/_sseclient.py b/firebase_admin/_sseclient.py index eab79f9e3..bcb1142eb 100644 --- a/firebase_admin/_sseclient.py +++ b/firebase_admin/_sseclient.py @@ -33,8 +33,9 @@ class KeepAuthSession(transport.requests.AuthorizedSession): """A session that does not drop authentication on redirects between domains.""" - def __init__(self, credential): + def __init__(self, credential, http_timeout): super(KeepAuthSession, self).__init__(credential) + self.http_timeout = http_timeout def rebuild_auth(self, prepared_request, response): pass @@ -107,7 +108,7 @@ def _connect(self): if self.should_connect: if self.last_id: self.requests_kwargs['headers']['Last-Event-ID'] = self.last_id - self.resp = self.session.get(self.url, stream=True, **self.requests_kwargs) + self.resp = self.session.get(self.url, stream=True, timeout=self.session.http_timeout, **self.requests_kwargs) self.resp_iterator = self.resp.iter_content(decode_unicode=True) self.resp.raise_for_status() else: diff --git a/firebase_admin/db.py b/firebase_admin/db.py index f1bbeba8e..b74d89452 100644 --- a/firebase_admin/db.py +++ b/firebase_admin/db.py @@ -370,7 +370,7 @@ def listen(self, callback): Raises: ApiCallError: If an error occurs while starting the initial HTTP connection. """ - session = _sseclient.KeepAuthSession(self._client.credential) + session = _sseclient.KeepAuthSession(self._client.credential, self._client.timeout) return self._listen_with_session(callback, session) def transaction(self, transaction_update):