@@ -47,6 +47,7 @@ def __init__(self, hostname, keyname, key, ssl=False):
47
47
self .keyname = keyname
48
48
self .key = key
49
49
self .ssl = 's' if ssl else ''
50
+ self .http_client = requests .Session ()
50
51
51
52
52
53
def _download_data_from_response (self , response , ns_path , local_destination , chunk_size = 16 * 1024 ):
@@ -105,21 +106,21 @@ def _request(self, **kwargs):
105
106
response = None
106
107
if kwargs ['method' ] == 'GET' :
107
108
if kwargs ['action' ] == 'download' :
108
- response = requests .get (request_url , headers = headers , stream = True )
109
+ response = self . http_client .get (request_url , headers = headers , stream = True )
109
110
if 'stream' not in kwargs .keys ():
110
111
self ._download_data_from_response (response , kwargs ['path' ], kwargs ['destination' ])
111
112
else :
112
- response = requests .get (request_url , headers = headers )
113
+ response = self . http_client .get (request_url , headers = headers )
113
114
114
115
elif kwargs ['method' ] == 'POST' :
115
- response = requests .post (request_url , headers = headers )
116
+ response = self . http_client .post (request_url , headers = headers )
116
117
117
118
elif kwargs ['method' ] == 'PUT' : # Use only upload
118
119
if 'stream' in kwargs .keys ():
119
- response = requests .put (request_url , headers = headers , data = kwargs ['stream' ])
120
+ response = self . http_client .put (request_url , headers = headers , data = kwargs ['stream' ])
120
121
elif kwargs ['action' ] == 'upload' :
121
122
mmapped_data = self ._upload_data_to_request (kwargs ['source' ])
122
- response = requests .put (request_url , headers = headers , data = mmapped_data )
123
+ response = self . http_client .put (request_url , headers = headers , data = mmapped_data )
123
124
mmapped_data .close ()
124
125
125
126
return response .status_code == 200 , response
@@ -210,4 +211,4 @@ def stream_upload(self, data, ns_destination):
210
211
return self ._request (action = 'upload' ,
211
212
method = 'PUT' ,
212
213
stream = data ,
213
- path = ns_destination )
214
+ path = ns_destination )
0 commit comments