3535from .helpers import safe
3636
3737
38- class RequestOptions :
39- def __init__ (self , options ):
40- self .headers = {}
41- self .parameters = {}
42-
43- if 'forwaredFor' in options :
44- self .headers ['X-Forwarded-For' ] = options ['forwaredFor' ]
45-
46-
4738class IndexIterator :
4839 """Iterator on index."""
4940
50- def __init__ (self , index , params = None , cursor = None ):
41+ def __init__ (self , index , params = None , cursor = None , request_options = None ):
5142 if params is None :
5243 params = {}
5344
5445 self .index = index
5546 self .params = params
5647 self .cursor = cursor
48+ self .request_options = request_options
5749
5850 def __iter__ (self ):
5951 self ._load_next_page ()
@@ -74,7 +66,7 @@ def next(self):
7466 raise StopIteration
7567
7668 def _load_next_page (self ):
77- self .answer = self .index .browse_from (self .params , self .cursor )
69+ self .answer = self .index .browse_from (self .params , self .cursor , self . request_options )
7870 self .pos = 0
7971 self .cursor = self .answer .get ('cursor' , None )
8072
@@ -271,7 +263,7 @@ def partial_update_objects(self, objects, no_create=False, request_options=None)
271263 'objectID' : obj ['objectID' ],
272264 'body' : obj
273265 })
274- return self .batch (requests , request_options , no_create = no_create )
266+ return self .batch (requests , no_create = no_create , request_options = request_options )
275267
276268 @deprecated
277269 def saveObject (self , obj ):
@@ -591,7 +583,7 @@ def browse(self, page=0, hits_per_page=1000):
591583 of hits per page. Defaults to 1000.
592584 """
593585 params = {'page' : page , 'hitsPerPage' : hits_per_page }
594- return self ._req (True , '/browse' , 'GET' , params )
586+ return self ._req (True , '/browse' , 'GET' , None , params )
595587
596588 def browse_from (self , params = None , cursor = None , request_options = None ):
597589 """
@@ -683,7 +675,7 @@ def delete_synonym(self, object_id, forward_to_slaves=False,
683675
684676 path = '/synonyms/%s' % safe (object_id )
685677 params = {'forwardToReplicas' : forward_to_replicas }
686- return self ._req (False , path , 'DELETE' , params )
678+ return self ._req (False , path , 'DELETE' , request_options , params )
687679
688680 def clear_synonyms (self , forward_to_slaves = False ,
689681 forward_to_replicas = False , request_options = None ):
@@ -1141,4 +1133,4 @@ def search_rules(self, query=None, anchoring=None, context=None, page=None, hits
11411133 def _req (self , is_search , path , meth , request_options , params = None , data = None ):
11421134 """Perform an HTTPS request with retry logic."""
11431135 path = '%s%s' % (self ._request_path , path )
1144- return self .client ._req (is_search , path , meth , params , data , request_options )
1136+ return self .client ._req (is_search , path , meth , request_options , params , data )
0 commit comments