13
13
from .message .bulkmessage import BulkMessage
14
14
from .proxy import Proxy
15
15
from .sendresult import SendResult
16
+ from .core .apikeyparser import ApiKeyParser
17
+ from .core .apikeyparseresult import ApiKeyParseResult
16
18
17
19
18
20
class SocketLabsClient (object ):
@@ -81,13 +83,15 @@ def number_of_retries(self):
81
83
def number_of_retries (self , retries : int ):
82
84
self ._number_of_retries = retries
83
85
84
- def __build_http_request (self ):
86
+ def __build_http_request (self , authentication : str ):
85
87
"""
86
88
Build the HttpRequest. Will add the proxy, if set
89
+ :param authentication: the API key to include as a bearer token
90
+ :type authentication: object
87
91
:return the HttpRequest object to use for the request
88
92
:rtype HttpRequest
89
93
"""
90
- req = HttpRequest (HttpRequest .HttpRequestMethod .POST , self .__endpoint , self .request_timeout )
94
+ req = HttpRequest (HttpRequest .HttpRequestMethod .POST , self .__endpoint , self .request_timeout , authentication )
91
95
if self ._http_proxy is not None :
92
96
req .proxy = self ._http_proxy
93
97
return req
@@ -119,10 +123,19 @@ def __send_basic_message(self, message: BasicMessage):
119
123
if not resp .result == SendResult .Success :
120
124
return resp
121
125
126
+ api_key_parser = ApiKeyParser ()
127
+ parse_result = api_key_parser .parse (self ._api_key )
128
+
122
129
req_factory = InjectionRequestFactory (self ._server_id , self ._api_key )
130
+ http_request = self .__build_http_request ("" )
131
+
132
+ if parse_result == ApiKeyParseResult .Success :
133
+ req_factory = InjectionRequestFactory (self ._server_id , "" )
134
+ http_request = self .__build_http_request (self ._api_key )
135
+
123
136
body = req_factory .generate_request (message )
124
137
125
- retry_handler = RetryHandler (self . __build_http_request () , RetrySettings (self .number_of_retries ))
138
+ retry_handler = RetryHandler (http_request , RetrySettings (self .number_of_retries ))
126
139
response = retry_handler .send (body )
127
140
128
141
data = response .read ().decode ("utf-8" )
@@ -143,10 +156,19 @@ def __send_bulk_message(self, message: BulkMessage):
143
156
if not resp .result == SendResult .Success :
144
157
return resp
145
158
159
+ api_key_parser = ApiKeyParser ()
160
+ parse_result = api_key_parser .parse (self ._api_key )
161
+
146
162
req_factory = InjectionRequestFactory (self ._server_id , self ._api_key )
163
+ http_request = self .__build_http_request ("" )
164
+
165
+ if parse_result == ApiKeyParseResult .Success :
166
+ req_factory = InjectionRequestFactory (self ._server_id , "" )
167
+ http_request = self .__build_http_request (self ._api_key )
168
+
147
169
body = req_factory .generate_request (message )
148
170
149
- retry_handler = RetryHandler (self . __build_http_request () , RetrySettings (self .number_of_retries ))
171
+ retry_handler = RetryHandler (http_request , RetrySettings (self .number_of_retries ))
150
172
response = retry_handler .send (body )
151
173
152
174
data = response .read ().decode ("utf-8" )
0 commit comments