From 6b7a0b7e42ec0d11e04c2d25e6e68e43b96e28d0 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 23 Nov 2010 20:52:59 +0200 Subject: [PATCH] http_well_known: try to retrieve the proto from the http server We must know if we are http or https and redirect accordingly. bzr revid: p_christ@hol.gr-20101123185259-k054y92ruf66n52f --- addons/http_well_known/redirect.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/http_well_known/redirect.py b/addons/http_well_known/redirect.py index 153d94bbe45..9717bae3239 100644 --- a/addons/http_well_known/redirect.py +++ b/addons/http_well_known/redirect.py @@ -54,6 +54,7 @@ class RedirectHTTPHandler(HttpLogHandler, FixSendError, HttpOptions, HTTPHandler self.send_error(404, "File not found") return None + server_proto = getattr(self.server, 'proto', 'http').lower() addr, port = self.server.server_name, self.server.server_port try: addr, port = self.request.getsockname() @@ -61,11 +62,11 @@ class RedirectHTTPHandler(HttpLogHandler, FixSendError, HttpOptions, HTTPHandler self.log_error("Cannot calculate own address:" , e) if self.headers.has_key('Host'): - uparts = list(urlparse.urlparse("http://%s:%d"% (addr,port))) + uparts = list(urlparse.urlparse("%s://%s:%d"% (server_proto, addr,port))) uparts[1] = self.headers['Host'] baseuri = urlparse.urlunparse(uparts) else: - baseuri = "http://%s:%d"% (addr, port ) + baseuri = "%s://%s:%d"% (server_proto, addr, port ) location = baseuri + self.redirect_paths[self.path]