]> kaliko git repositories - mpd-sima.git/commitdiff
Reuse http connections
authorkaliko <kaliko@azylum.org>
Wed, 22 Apr 2020 11:23:35 +0000 (13:23 +0200)
committerkaliko <kaliko@azylum.org>
Wed, 22 Apr 2020 13:38:34 +0000 (15:38 +0200)
doc/Changelog
sima/lib/http.py

index 1bc1c91fc4d7f08863f434ea39bde4d90416be33..fc3079176ec1d00e176e6a9b584016ec3110a4ce 100644 (file)
@@ -1,6 +1,6 @@
 MPD_sima v0.15.3 UNRELEASED
 
- * 
+ * Improve HTTP client (use persistent connection)
 
 -- kaliko jack <kaliko@azylum.org>
 
index d253568419b56d82b7033494aa1560a4982bff7b..d66b6b793a182fb8abc1191de48995f23621b2d0 100644 (file)
@@ -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)