@@ -201,7 +201,7 @@ def switch_user(self, username, password):
201
201
self ._password = password
202
202
203
203
def request (self , url , method = 'GET' , params = None , data = None ,
204
- expected_response_code = 200 , headers = None ):
204
+ expected_response_code = 200 , headers = None , chunked = False ):
205
205
"""Make a HTTP request to the InfluxDB API.
206
206
207
207
:param url: the path of the HTTP request, e.g. write, query, etc.
@@ -249,7 +249,8 @@ def request(self, url, method='GET', params=None, data=None,
249
249
headers = headers ,
250
250
proxies = self ._proxies ,
251
251
verify = self ._verify_ssl ,
252
- timeout = self ._timeout
252
+ timeout = self ._timeout ,
253
+ stream = chunked
253
254
)
254
255
break
255
256
except (requests .exceptions .ConnectionError ,
@@ -315,17 +316,17 @@ def write(self, data, params=None, expected_response_code=204,
315
316
316
317
@staticmethod
317
318
def _read_chunked_response (response , raise_errors = True ):
318
- result_set = {}
319
319
for line in response .iter_lines ():
320
320
if isinstance (line , bytes ):
321
321
line = line .decode ('utf-8' )
322
322
data = json .loads (line )
323
+ result_set = {}
323
324
for result in data .get ('results' , []):
324
325
for _key in result :
325
326
if isinstance (result [_key ], list ):
326
327
result_set .setdefault (
327
328
_key , []).extend (result [_key ])
328
- return ResultSet (result_set , raise_errors = raise_errors )
329
+ yield ( ResultSet (result_set , raise_errors = raise_errors ) )
329
330
330
331
def query (self ,
331
332
query ,
@@ -391,7 +392,8 @@ def query(self,
391
392
method = 'GET' ,
392
393
params = params ,
393
394
data = None ,
394
- expected_response_code = expected_response_code
395
+ expected_response_code = expected_response_code ,
396
+ chunked = chunked
395
397
)
396
398
397
399
if chunked :
0 commit comments