UrlService: custom header support added
Ilya committed
Sep 9, 2017 at 21:37 UTC
2b268b104ed205ba63e932e45e71a6acba26901b
1 file changed
+6
-1
python.d/python_modules/base.py
+6
-1
@@ -505,6 +505,7 @@ class UrlService(SimpleService):
505
self.proxy_user = self.configuration.get('proxy_user')
506
self.proxy_password = self.configuration.get('proxy_pass')
507
self.proxy_url = self.configuration.get('proxy_url')
508
+ self.header = self.configuration.get('header')
509
self._manager = None
510
511
def __make_headers(self, **header_kw):
@@ -512,6 +513,7 @@ class UrlService(SimpleService):
513
password = header_kw.get('pass') or self.password
514
proxy_user = header_kw.get('proxy_user') or self.proxy_user
515
proxy_password = header_kw.get('proxy_pass') or self.proxy_password
516
+ custom_header = header_kw.get('header') or self.header
517
header_params = dict(keep_alive=True)
518
proxy_header_params = dict()
519
if user and password:
@@ -521,10 +523,13 @@ class UrlService(SimpleService):
523
proxy_header_params['proxy_basic_auth'] = '{user}:{password}'.format(user=proxy_user,
524
password=proxy_password)
525
try:
524
- return urllib3.make_headers(**header_params), urllib3.make_headers(**proxy_header_params)
526
+ header, proxy_header = urllib3.make_headers(**header_params), urllib3.make_headers(**proxy_header_params)
527
except TypeError as error:
528
self.error('build_header() error: {error}'.format(error=error))
529
return None, None
530
+ else:
531
+ header.update(custom_header or dict())
532
+ return header, proxy_header
533
534
def _build_manager(self, **header_kw):
535
header, proxy_header = self.__make_headers(**header_kw)