From 8ea5a957a63ed5fa93548e07feadf0c4c82c4d59 Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 27 Feb 2019 11:13:10 +0100 Subject: [PATCH] only start ?redirects counter if we are starting from a /user/:name -> /hub/user/:name redirect --- jupyterhub/handlers/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jupyterhub/handlers/base.py b/jupyterhub/handlers/base.py index c54a8c12..f2f53b25 100644 --- a/jupyterhub/handlers/base.py +++ b/jupyterhub/handlers/base.py @@ -1377,6 +1377,7 @@ class UserUrlHandler(BaseHandler): if self.subdomain_host: target = user.host + target + referer = self.request.headers.get('Referer', '') # record redirect count in query parameter if redirects: self.log.warning("Redirect loop detected on %s", self.request.uri) @@ -1388,7 +1389,8 @@ class UserUrlHandler(BaseHandler): query_parts['redirects'] = redirects + 1 url_parts = url_parts._replace(query=urlencode(query_parts, doseq=True)) target = urlunparse(url_parts) - else: + elif '/user/' in referer: + # add first counter only if it's a redirect from /user/:name -> /hub/user/:name target = url_concat(target, {'redirects': 1}) self.redirect(target)