@cryptotaxi247 / netdata-1 / commits / d242e0245

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