@@ -24,8 +24,8 @@ def wrapper(*args, **kwargs):
2424 response = False
2525 i = 0
2626 response_ok = False
27- retries = args [0 ].retries
28- status_retries = args [0 ].status_retries
27+ retries = args [0 ]._retries
28+ status_retries = args [0 ]._status_retries
2929 while i < retries and response_ok is False :
3030 response = f (* args , ** kwargs )
3131 i += 1
@@ -35,6 +35,7 @@ def wrapper(*args, **kwargs):
3535 if not response_ok :
3636 logger .warning ("Response ERROR: {}" .format (response ))
3737 return response
38+
3839 return wrapper
3940
4041
@@ -44,12 +45,17 @@ class Service(DriverService):
4445 "data" : ""
4546 }
4647 tracer = None
48+ _retries = DEFAULT_RETRIES
49+ _status_retries = DEFAULT_STATUS_RETRIES
50+ _propagate_headers = False
4751
4852 def __init__ (self , service , * args , ** kwargs ):
4953 """Initialization for trace headers propagation"""
5054 super ().__init__ (service , * args , ** kwargs )
51- self .retries = self .config .retries or DEFAULT_RETRIES
52- self .status_retries = self .config .status_retries or DEFAULT_STATUS_RETRIES
55+ if self .exists_config ():
56+ self ._retries = self .config .retries or DEFAULT_RETRIES
57+ self ._status_retries = self .config .status_retries or DEFAULT_STATUS_RETRIES
58+ self ._propagate_headers = self .config .propagate_headers
5359
5460 def requests (self , session : requests .Session ):
5561 """
@@ -62,11 +68,11 @@ def requests(self, session: requests.Session):
6268 """
6369 session_r = session or requests .Session ()
6470 retry = Retry (
65- total = self .retries ,
66- read = self .retries ,
67- connect = self .retries ,
71+ total = self ._retries ,
72+ read = self ._retries ,
73+ connect = self ._retries ,
6874 backoff_factor = 0.3 ,
69- status_forcelist = self .status_retries ,
75+ status_forcelist = self ._status_retries ,
7076 )
7177 adapter = HTTPAdapter (max_retries = retry )
7278 session_r .mount ('http://' , adapter )
@@ -94,7 +100,8 @@ def insert_trace_headers(self, headers: dict) -> dict:
94100 logger .debug ("Tracer error {}" .format (ex ))
95101 return headers
96102
97- def propagate_headers (self , headers : dict ) -> dict :
103+ @staticmethod
104+ def propagate_headers (headers : dict ) -> dict :
98105 for k , v in request .headers :
99106 if not headers .get (k ):
100107 headers .update ({k : v })
@@ -114,7 +121,7 @@ def _get_headers(self, headers, propagate_headers=False):
114121 self .tracer = current_app .tracer
115122 if self .tracer :
116123 headers = self .insert_trace_headers (headers )
117- if self .config . propagate_headers or propagate_headers :
124+ if self ._propagate_headers or propagate_headers :
118125 headers = self .propagate_headers (headers )
119126 return headers
120127
@@ -164,7 +171,7 @@ def get(self, url, path_params=None, params=None, headers=None, propagate_header
164171 full_url = self ._build_url (url , path_params )
165172 headers = self ._get_headers (headers = headers , propagate_headers = propagate_headers )
166173 logger .debug ("Get with url {}, params {}, headers {}, kwargs {}" .
167- format (full_url , params , headers , kwargs ))
174+ format (full_url , params , headers , kwargs ))
168175
169176 session = requests .Session ()
170177 response = self .requests (session = session ).get (full_url , params = params , headers = headers , ** kwargs )
@@ -205,7 +212,7 @@ def post(self, url, path_params=None, data=None, json=None, headers=None, **kwar
205212 full_url = self ._build_url (url , path_params )
206213 headers = self ._get_headers (headers )
207214 logger .debug ("Post with url {}, data {}, json {}, headers {}, kwargs {}" .format (full_url , data , json ,
208- headers , kwargs ))
215+ headers , kwargs ))
209216
210217 session = requests .Session ()
211218 response = self .requests (session = session ).post (full_url , data = data , json = json , headers = headers , ** kwargs )
@@ -248,7 +255,7 @@ def put(self, url, path_params=None, data=None, headers=None, **kwargs):
248255 full_url = self ._build_url (url , path_params )
249256 headers = self ._get_headers (headers )
250257 logger .debug ("Put with url {}, data {}, headers {}, kwargs {}" .format (full_url , data , headers ,
251- kwargs ))
258+ kwargs ))
252259
253260 session = requests .Session ()
254261 response = self .requests (session = session ).put (full_url , data , headers = headers , ** kwargs )
0 commit comments