Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/toolkit/http.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar_network/toolkit/http.py')
-rw-r--r--sugar_network/toolkit/http.py30
1 files changed, 15 insertions, 15 deletions
diff --git a/sugar_network/toolkit/http.py b/sugar_network/toolkit/http.py
index cb7028a..bb177da 100644
--- a/sugar_network/toolkit/http.py
+++ b/sugar_network/toolkit/http.py
@@ -82,33 +82,29 @@ class Client(object):
self._session.close()
def exists(self, path):
- response = self.request('GET', path, allowed=[404], params=self.params)
+ response = self.request('GET', path, allowed=[404])
return response.status_code != 404
def get(self, path_=None, **kwargs):
- kwargs.update(self.params)
response = self.request('GET', path_, params=kwargs)
- return self._decode_response(response)
+ return self._decode_reply(response)
def post(self, path_=None, data_=None, **kwargs):
- kwargs.update(self.params)
response = self.request('POST', path_, data_,
headers={'Content-Type': 'application/json'}, params=kwargs)
- return self._decode_response(response)
+ return self._decode_reply(response)
def put(self, path_=None, data_=None, **kwargs):
- kwargs.update(self.params)
response = self.request('PUT', path_, data_,
headers={'Content-Type': 'application/json'}, params=kwargs)
- return self._decode_response(response)
+ return self._decode_reply(response)
def delete(self, path_=None, **kwargs):
- kwargs.update(self.params)
response = self.request('DELETE', path_, params=kwargs)
- return self._decode_response(response)
+ return self._decode_reply(response)
def request(self, method, path=None, data=None, headers=None, allowed=None,
- **kwargs):
+ params=None, **kwargs):
if not path:
path = ['']
if not isinstance(path, basestring):
@@ -118,10 +114,16 @@ class Client(object):
headers.get('Content-Type') == 'application/json':
data = json.dumps(data)
+ if params is None:
+ params = self.params
+ else:
+ params.update(self.params)
+
while True:
try:
response = requests.request(method, path, data=data,
- headers=headers, session=self._session, **kwargs)
+ headers=headers, session=self._session, params=params,
+ **kwargs)
except requests.exceptions.SSLError:
_logger.warning('Use --no-check-certificate to avoid checks')
raise
@@ -167,7 +169,7 @@ class Client(object):
if response is not None:
response.content_type = reply.headers['Content-Type']
- return self._decode_response(reply)
+ return self._decode_reply(reply)
def download(self, url_path, out_path, seqno=None, extract=False):
if isdir(out_path):
@@ -280,11 +282,9 @@ class Client(object):
},
)
- def _decode_response(self, response):
+ def _decode_reply(self, response):
if response.headers.get('Content-Type') == 'application/json':
return json.loads(response.content)
- else:
- return response
def _sign(data):