From ce8b429786da261da4ba355339a60095877de95c Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Dec 21 2018 10:10:34 +0000 Subject: Use the requests sessions to retry failed connection Signed-off-by: Clement Verna --- diff --git a/libpagure/libpagure.py b/libpagure/libpagure.py index 3581f31..4d60341 100644 --- a/libpagure/libpagure.py +++ b/libpagure/libpagure.py @@ -47,11 +47,17 @@ class Pagure(object): self.namespace = namespace self.instance = instance_url self.session = requests.session() + + adapter = requests.adapters.HTTPAdapter(max_retries=5) + self.insecure = insecure - if self.token: - self.header = {"Authorization": "token " + self.token} + if self.insecure: + self.session.mount("http://", adapter) else: - self.header = None + self.session.mount("https://", adapter) + + if self.token: + self.session.headers = {"Authorization": "token " + self.token} def _call_api(self, url, method="GET", params=None, data=None): """ Method used to call the API. @@ -68,12 +74,7 @@ class Pagure(object): """ req = self.session.request( - method=method, - url=url, - params=params, - headers=self.header, - data=data, - verify=not self.insecure, + method=method, url=url, params=params, data=data, verify=not self.insecure ) output = None