NEW: allow additional name argument passing to urllib3 request in UrlService (#5893)
- This solves monitoring of endpoints which require POST data (allows passing "body")
Andrey Galkin committed
Apr 18, 2019 at 21:50 UTC
d242e02452ff309334b05a17d6e1061ea3caeac8
1 file changed
+4
-3
collectors/python.d.plugin/python_modules/bases/FrameworkServices/UrlService.py
+4
-3
@@ -88,13 +88,13 @@ class UrlService(SimpleService):
88
self.error('build_manager() error:', str(error))
89
return None
90
91
- def _get_raw_data(self, url=None, manager=None):
91
+ def _get_raw_data(self, url=None, manager=None, **kwargs):
92
"""
93
Get raw data from http request
94
:return: str
95
"""
96
try:
97
- status, data = self._get_raw_data_with_status(url, manager)
97
+ status, data = self._get_raw_data_with_status(url, manager, **kwargs)
98
except (urllib3.exceptions.HTTPError, TypeError, AttributeError) as error:
99
self.error('Url: {url}. Error: {error}'.format(url=url or self.url, error=error))
100
return None
@@ -105,7 +105,7 @@ class UrlService(SimpleService):
105
self.debug('Url: {url}. Http response status code: {code}'.format(url=url or self.url, code=status))
106
return None
107
108
- def _get_raw_data_with_status(self, url=None, manager=None, retries=1, redirect=True):
108
+ def _get_raw_data_with_status(self, url=None, manager=None, retries=1, redirect=True, **kwargs):
109
"""
110
Get status and response body content from http request. Does not catch exceptions
111
:return: int, str
@@ -123,6 +123,7 @@ class UrlService(SimpleService):
123
retries=retry,
124
headers=manager.headers,
125
redirect=redirect,
126
+ **kwargs
127
)
128
if isinstance(response.data, str):
129
return response.status, response.data