@@ -214,7 +214,8 @@ def multipleQueries(self, queries, index_name_key='indexName'):
214214
215215 def multiple_queries (self , queries ,
216216 index_name_key = 'indexName' ,
217- strategy = 'none' ):
217+ strategy = 'none' ,
218+ request_options = None ):
218219 """This method allows to query multiple indexes with one API call."""
219220 path = '/1/indexes/*/queries'
220221
@@ -228,48 +229,48 @@ def multiple_queries(self, queries,
228229 })
229230
230231 data = {'requests' : requests , 'strategy' : strategy }
231- return self ._req (True , path , 'POST' , data = data )
232+ return self ._req (True , path , 'POST' , request_options , data = data )
232233
233- def batch (self , requests ):
234+ def batch (self , requests , request_options = None ):
234235 """Send a batch request targeting multiple indices."""
235236 if isinstance (requests , (list , tuple )):
236237 requests = {'requests' : requests }
237238
238239 path = '/1/indexes/*/batch'
239- return self ._req (False , path , 'POST' , data = requests )
240+ return self ._req (False , path , 'POST' , request_options , data = requests )
240241
241242 @deprecated
242243 def listIndexes (self ):
243244 return self .list_indexes ()
244245
245- def list_indexes (self ):
246+ def list_indexes (self , request_options = None ):
246247 """
247248 List all existing indexes.
248249 Return an object of the form:
249250 {'items': [{ 'name': 'contacts', 'created_at': '2013-01-18T15:33:13.556Z'},
250251 {'name': 'notes', 'created_at': '2013-01-18T15:33:13.556Z'}]}
251252 """
252- return self ._req (True , '/1/indexes' , 'GET' )
253+ return self ._req (True , '/1/indexes' , 'GET' , request_options )
253254
254255 @deprecated
255256 def deleteIndex (self , index_name ):
256257 return self .delete_index (index_name )
257258
258- def delete_index (self , index_name ):
259+ def delete_index (self , index_name , request_options = None ):
259260 """
260261 Delete an index.
261262 Return an object of the form: {'deleted_at': '2013-01-18T15:33:13.556Z'}
262263
263264 @param index_name the name of index to delete
264265 """
265266 path = '/1/indexes/%s' % safe (index_name )
266- return self ._req (False , path , 'DELETE' )
267+ return self ._req (False , path , 'DELETE' , request_options )
267268
268269 @deprecated
269270 def moveIndex (self , src_index_name , dst_index_name ):
270271 return self .move_index (src_index_name , dst_index_name )
271272
272- def move_index (self , src_index_name , dst_index_name ):
273+ def move_index (self , src_index_name , dst_index_name , request_options = None ):
273274 """
274275 Move an existing index.
275276
@@ -279,13 +280,13 @@ def move_index(self, src_index_name, dst_index_name):
279280 """
280281 path = '/1/indexes/%s/operation' % safe (src_index_name )
281282 request = {'operation' : 'move' , 'destination' : dst_index_name }
282- return self ._req (False , path , 'POST' , data = request )
283+ return self ._req (False , path , 'POST' , request_options , data = request )
283284
284285 @deprecated
285286 def copyIndex (self , src_index_name , dst_index_name ):
286287 return self .copy_index (src_index_name , dst_index_name )
287288
288- def copy_index (self , src_index_name , dst_index_name ):
289+ def copy_index (self , src_index_name , dst_index_name , request_options = None ):
289290 """
290291 Copy an existing index.
291292
@@ -295,13 +296,13 @@ def copy_index(self, src_index_name, dst_index_name):
295296 """
296297 path = '/1/indexes/%s/operation' % safe (src_index_name )
297298 request = {'operation' : 'copy' , 'destination' : dst_index_name }
298- return self ._req (False , path , 'POST' , data = request )
299+ return self ._req (False , path , 'POST' , request_options , data = request )
299300
300301 @deprecated
301302 def getLogs (self , offset = 0 , length = 10 , type = 'all' ):
302303 return self .get_logs (offset , length , type )
303304
304- def get_logs (self , offset = 0 , length = 10 , type = 'all' ):
305+ def get_logs (self , offset = 0 , length = 10 , type = 'all' , request_options = None ):
305306 """
306307 Return last logs entries.
307308
@@ -311,7 +312,7 @@ def get_logs(self, offset=0, length=10, type='all'):
311312 starting at offset. Maximum allowed value: 1000.
312313 """
313314 params = {'offset' : offset , 'length' : length , 'type' : type }
314- return self ._req (False , '/1/logs' , 'GET' , params )
315+ return self ._req (False , '/1/logs' , 'GET' , request_options , params )
315316
316317 @deprecated
317318 def initIndex (self , index_name ):
@@ -335,9 +336,9 @@ def list_user_keys(self):
335336 """Use `list_api_keys`"""
336337 return self .list_api_keys ()
337338
338- def list_api_keys (self ):
339+ def list_api_keys (self , request_options = None ):
339340 """List all existing api keys with their associated ACLs."""
340- return self ._req (True , '/1/keys' , 'GET' )
341+ return self ._req (True , '/1/keys' , 'GET' , request_options )
341342
342343 @deprecated
343344 def getUserKeyACL (self , key ):
@@ -348,10 +349,10 @@ def get_user_key_acl(self, key):
348349 """Use `get_api_key_acl`"""
349350 return self .get_api_key_acl (key )
350351
351- def get_api_key_acl (self , key ):
352+ def get_api_key_acl (self , key , request_options = None ):
352353 """'Get ACL of an api key."""
353354 path = '/1/keys/%s' % key
354- return self ._req (True , path , 'GET' )
355+ return self ._req (True , path , 'GET' , request_options )
355356
356357 @deprecated
357358 def deleteUserKey (self , key ):
@@ -362,10 +363,10 @@ def delete_user_key(self, key):
362363 """Use `delete_api_key`"""
363364 return self .delete_api_key (key )
364365
365- def delete_api_key (self , key ):
366+ def delete_api_key (self , key , request_options = None ):
366367 """Delete an existing api key."""
367368 path = '/1/keys/%s' % key
368- return self ._req (False , path , 'DELETE' )
369+ return self ._req (False , path , 'DELETE' , request_options )
369370
370371 @deprecated
371372 def addUserKey (self , obj ,
@@ -392,7 +393,8 @@ def add_api_key(self, obj,
392393 validity = 0 ,
393394 max_queries_per_ip_per_hour = 0 ,
394395 max_hits_per_query = 0 ,
395- indexes = None ):
396+ indexes = None ,
397+ request_options = None ):
396398 """
397399 Create a new api key.
398400
@@ -435,7 +437,7 @@ def add_api_key(self, obj,
435437 if indexes :
436438 obj ['indexes' ] = indexes
437439
438- return self ._req (False , '/1/keys' , 'POST' , data = obj )
440+ return self ._req (False , '/1/keys' , 'POST' , request_options , data = obj )
439441
440442 @deprecated
441443 def update_user_key (self , key , obj ,
@@ -454,7 +456,8 @@ def update_api_key(self, key, obj,
454456 validity = None ,
455457 max_queries_per_ip_per_hour = None ,
456458 max_hits_per_query = None ,
457- indexes = None ):
459+ indexes = None ,
460+ request_options = None ):
458461 """
459462 Update a api key.
460463
@@ -500,7 +503,7 @@ def update_api_key(self, key, obj,
500503 obj ['indexes' ] = indexes
501504
502505 path = '/1/keys/%s' % key
503- return self ._req (False , path , 'PUT' , data = obj )
506+ return self ._req (False , path , 'PUT' , request_options , data = obj )
504507
505508 @deprecated
506509 def generateSecuredApiKey (self , private_api_key , tag_filters ,
@@ -534,16 +537,16 @@ def generate_secured_api_key(self, private_api_key, queryParameters,
534537 securedKey = hmac .new (private_api_key .encode ('utf-8' ), queryParameters .encode ('utf-8' ), hashlib .sha256 ).hexdigest ()
535538 return str (base64 .b64encode (("%s%s" % (securedKey , queryParameters )).encode ('utf-8' )).decode ('utf-8' ))
536539
537- def is_alive (self ):
540+ def is_alive (self , request_options = None ):
538541 """
539542 Test if the server is alive.
540543 This performs a simple application-level ping. If up and running, the server answers with a basic message.
541544 """
542- return self ._req (True , '/1/isalive' , 'GET' )
545+ return self ._req (True , '/1/isalive' , 'GET' , request_options )
543546
544- def _req (self , is_search , path , meth , params = None , data = None ):
547+ def _req (self , is_search , path , meth , request_options , params = None , data = None ):
545548 if len (self .api_key ) > MAX_API_KEY_LENGTH :
546549 if data is None :
547550 data = {}
548551 data ['apiKey' ] = self .api_key
549- return self ._transport .req (is_search , path , meth , params , data )
552+ return self ._transport .req (is_search , path , meth , params , data , request_options )
0 commit comments