diff options
Diffstat (limited to 'keystoneclient/client.py')
-rw-r--r-- | keystoneclient/client.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/keystoneclient/client.py b/keystoneclient/client.py index c61f891..c146ff0 100644 --- a/keystoneclient/client.py +++ b/keystoneclient/client.py @@ -108,6 +108,9 @@ class HTTPClient(httplib2.Http): if self.debug_log: _logger.debug("RESP: %s\nRESP BODY: %s\n", resp, body) + def serialize(self, entity): + return json.dumps(entity) + def request(self, url, method, **kwargs): """ Send an http request with the specified characteristics. @@ -123,7 +126,7 @@ class HTTPClient(httplib2.Http): self.original_ip, self.USER_AGENT) if 'body' in kwargs: request_kwargs['headers']['Content-Type'] = 'application/json' - request_kwargs['body'] = json.dumps(kwargs['body']) + request_kwargs['body'] = self.serialize(kwargs['body']) self.http_log_req((url, method,), request_kwargs) resp, body = super(HTTPClient, self).request(url, @@ -180,11 +183,17 @@ class HTTPClient(httplib2.Http): def get(self, url, **kwargs): return self._cs_request(url, 'GET', **kwargs) + def head(self, url, **kwargs): + return self._cs_request(url, 'HEAD', **kwargs) + def post(self, url, **kwargs): return self._cs_request(url, 'POST', **kwargs) def put(self, url, **kwargs): return self._cs_request(url, 'PUT', **kwargs) + def patch(self, url, **kwargs): + return self._cs_request(url, 'PATCH', **kwargs) + def delete(self, url, **kwargs): return self._cs_request(url, 'DELETE', **kwargs) |