summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhi Yan Liu <zhiyanl@cn.ibm.com>2014-08-06 21:08:52 +0800
committerZhi Yan Liu <zhiyanl@cn.ibm.com>2014-08-07 13:04:25 +0800
commit867e4cae27afbd7e21d37a79e77f2787b061ec03 (patch)
treeac32d552aa630fefaa92683c8214f6e735aa3f14
parentd833006bd4c2430d286905bc3a22004754739c98 (diff)
downloadpython-glanceclient-867e4cae27afbd7e21d37a79e77f2787b061ec03.tar.gz
Normalize glanceclient requested service url
Some proxy or gateway softwares, e.g. jumpgate [0], use url-pattern based approach to match which hanlding logic needs to be triggered for particular service calling when it received a http(s) call as a middleman. The change fixed an issue which caused glanceclient send out the request to a dis-normal url, which contains duplicated "/". The change removed a wrong and duplicated code snippet from curl logging function as well. [0] http://goo.gl/yt52X1 Change-Id: Ic8b3920e11d400771ead7f9c44b615f10b4a5cef Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
-rw-r--r--glanceclient/common/http.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/glanceclient/common/http.py b/glanceclient/common/http.py
index ad8e4c7..874f2f4 100644
--- a/glanceclient/common/http.py
+++ b/glanceclient/common/http.py
@@ -97,8 +97,6 @@ class HTTPClient(object):
if data and isinstance(data, six.string_types):
curl.append('-d \'%s\'' % data)
- if "//:" not in url:
- url = '%s%s' % (self.endpoint, url)
curl.append(url)
LOG.debug(strutils.safe_encode(' '.join(curl), errors='ignore'))
@@ -168,7 +166,10 @@ class HTTPClient(object):
headers = self.encode_headers(headers)
try:
- conn_url = "%s/%s" % (self.endpoint, url)
+ if self.endpoint.endswith("/") or url.startswith("/"):
+ conn_url = "%s%s" % (self.endpoint, url)
+ else:
+ conn_url = "%s/%s" % (self.endpoint, url)
self.log_curl_request(method, conn_url, headers, data, kwargs)
resp = self.session.request(method,
conn_url,