From: kaliko Date: Wed, 22 Apr 2020 11:23:35 +0000 (+0200) Subject: Reuse http connections X-Git-Tag: 0.15.3~2 X-Git-Url: https://git.kaliko.me/?a=commitdiff_plain;h=8676187ab0172bf6c96840914e4b810860a0a69f;p=mpd-sima.git Reuse http connections --- diff --git a/doc/Changelog b/doc/Changelog index 1bc1c91..fc30791 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,6 @@ MPD_sima v0.15.3 UNRELEASED - * … + * Improve HTTP client (use persistent connection) -- kaliko jack diff --git a/sima/lib/http.py b/sima/lib/http.py index d253568..d66b6b7 100644 --- a/sima/lib/http.py +++ b/sima/lib/http.py @@ -280,6 +280,7 @@ class HttpClient: """ self.stats = stats self.controller = CacheController(cache) + self.sess = Session() def __call__(self, ress, payload): req = Request('GET', ress, params=payload,).prepare() @@ -301,9 +302,8 @@ class HttpClient: @Throttle(WAIT_BETWEEN_REQUESTS) def fetch_ws(self, prepreq): """fetch from web service""" - sess = Session() - settings = sess.merge_environment_settings(prepreq.url, {}, None, False, None) - resp = sess.send(prepreq, timeout=SOCKET_TIMEOUT, **settings) + settings = self.sess.merge_environment_settings(prepreq.url, {}, None, False, None) + resp = self.sess.send(prepreq, timeout=SOCKET_TIMEOUT, **settings) if resp.status_code == 304: self.stats.update(etag=self.stats.get('etag')+1) resp = self.controller.update_cached_response(prepreq, resp)