git.fiddlerwoaroof.com
Ed L authored on 05/03/2012 18:05:36
Showing 1 changed files
... ...
@@ -299,9 +299,19 @@ class OpenIDResource(Resource):
299 299
 	def buildURL(self, txrequest, action, **query):
300 300
 		"""Build a URL relative to the server base_url, with the given
301 301
 		query parameters added."""
302
-		url = urlparse.urlparse(txrequest.prePathURL()+'/')
303
-		if self.eventhandler.external_port:
304
-			url.port = self.eventhandler.external_port
302
+		a  = urlparse.urlparse(txrequest.prePathURL()+'/')
303
+
304
+		url = urlparse.SplitResult(
305
+			a.scheme,
306
+			'%s:%s@%s:%s' % (
307
+				a.username,
308
+				a.password,
309
+				a.hostname,
310
+				self.eventhandler.external_port or a.port),
311
+			a.path,
312
+			a.query,
313
+			a.fragment).geturl()
314
+
305 315
 		base = urlparse.urljoin(url.geturl(), action)
306 316
 		print 'buildURL', base
307 317
 		return appendArgs(base, query)