summaryrefslogtreecommitdiff
path: root/keystoneclient/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'keystoneclient/client.py')
-rw-r--r--keystoneclient/client.py11
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)