Skip to content

Commit 58cd557

Browse files
injection parser moved to socketlabs client
1 parent 13d8999 commit 58cd557

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

socketlabs/injectionapi/core/retryhandler.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,7 @@ def __init__(self, http_client: HttpRequest, settings: RetrySettings):
3030
def send(self, body):
3131

3232
if self.__retry_settings.maximum_number_of_retries == 0:
33-
34-
response = self.__http_client.send_request(body)
35-
data = response.read().decode("utf-8")
36-
response_code = response.status
37-
result = InjectionResponseParser.parse(data, response_code)
38-
39-
return result
33+
return self.__http_client.send_request(body)
4034

4135
while True:
4236
wait_interval = self.__retry_settings.get_next_wait_interval(self.attempts)
@@ -47,12 +41,8 @@ def send(self, body):
4741

4842
if response.status in self.ErrorStatusCodes:
4943
raise HTTPException("HttpStatusCode: {0}. Response contains server error.".format(response.status))
50-
51-
data = response.read().decode("utf-8")
52-
response_code = response.status
53-
result = InjectionResponseParser.parse(data, response_code)
5444

55-
return result
45+
return response
5646

5747
except socket.timeout:
5848

@@ -83,11 +73,7 @@ def on_success(response):
8373
self.send_async(request, on_success_callback, on_error_callback)
8474

8575
else:
86-
87-
data = response.read().decode("utf-8")
88-
response_code = response.status
89-
result = InjectionResponseParser.parse(data, response_code)
90-
on_success_callback(result)
76+
on_success_callback(response)
9177

9278
def on_error(exception):
9379

socketlabs/injectionapi/socketlabsclient.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from .core.httpendpoint import HttpEndpoint
66
from .core.httprequest import HttpRequest
77
from .core.injectionrequestfactory import InjectionRequestFactory
8+
from .core.injectionresponseparser import InjectionResponseParser
89
from .core.sendvalidator import SendValidator
910
from .core.retryhandler import RetryHandler
1011
from .retrysettings import RetrySettings
@@ -143,7 +144,10 @@ def __send_bulk_message(self, message: BulkMessage):
143144

144145
request = self.__build_http_request()
145146
retry_handler = RetryHandler(request, RetrySettings(self.number_of_retries))
146-
result = retry_handler.send(body)
147+
response = retry_handler.send(body)
148+
data = response.read().decode("utf-8")
149+
response_code = response.status
150+
result = InjectionResponseParser.parse(data, response_code)
147151
return result
148152

149153
def send_async(self, message: BasicMessage, on_success, on_error):
@@ -182,7 +186,14 @@ def __send_basic_message_async(self, message: BasicMessage, on_success, on_error
182186

183187
request = self.__build_http_request()
184188
retry_handler = RetryHandler(request, RetrySettings(self.number_of_retries))
185-
retry_handler.send_async(body, on_success, on_error)
189+
def on_sucess_callback(response):
190+
data = response.read().decode("utf-8")
191+
response_code = response.status
192+
result = InjectionResponseParser.parse(data, response_code)
193+
on_success(result)
194+
def on_error_callback(exception):
195+
on_error(exception)
196+
retry_handler.send_async(body, on_sucess_callback, on_error_callback)
186197

187198
def __send_bulk_message_async(self, message: BulkMessage, on_success, on_error):
188199
"""

0 commit comments

Comments
 (0)