add custom request feature to SocketService._get_raw_data()
lgz committed
Jun 16, 2018 at 16:34 UTC
87de25644584ccbff40f38caeb2eda48ddd86734
1 file changed
+5
-5
python.d/python_modules/bases/FrameworkServices/SocketService.py
+5
-5
@@ -172,7 +172,7 @@ class SocketService(SimpleService):
172
pass
173
self._sock = None
174
175
- def _send(self):
175
+ def _send(self, request=None):
176
"""
177
Send request.
178
:return: boolean
@@ -180,8 +180,8 @@ class SocketService(SimpleService):
180
# Send request if it is needed
181
if self.request != self.__empty_request:
182
try:
183
- self.debug('sending request: {0}'.format(self.request))
184
- self._sock.send(self.request)
183
+ self.debug('sending request: {0}'.format(request or self.request))
184
+ self._sock.send(request or self.request)
185
except Exception as error:
186
self._socket_error('error sending request: {0}'.format(error))
187
self._disconnect()
@@ -222,7 +222,7 @@ class SocketService(SimpleService):
222
self.debug('final response: {0}'.format(data))
223
return data
224
225
- def _get_raw_data(self, raw=False):
225
+ def _get_raw_data(self, raw=False, request=None):
226
"""
227
Get raw data with low-level "socket" module.
228
:param raw: set `True` to return bytes
@@ -236,7 +236,7 @@ class SocketService(SimpleService):
236
return None
237
238
# Send request if it is needed
239
- if not self._send():
239
+ if not self._send(request):
240
return None
241
242
data = self._receive(raw)