From 078942b2cf6d73697f4c6b8a28cabe940f358532 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Thu, 12 Mar 2015 13:51:04 -0400 Subject: [PATCH] Proper fallback from referer to REQUEST_URI If the referer is present but does not contain a transaction ID we still need to fallback to the REQUEST_URI. Fix the code to check the url and then fallback to REQUEST_URI rathe than decide upfront merely on the fact a referer is available. https://fedorahosted.org/ipsilon/ticket/74 Signed-off-by: Simo Sorce Reviewed-by: Nathan Kinder --- ipsilon/util/page.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ipsilon/util/page.py b/ipsilon/util/page.py index 50585ca..7e88534 100644 --- a/ipsilon/util/page.py +++ b/ipsilon/util/page.py @@ -143,9 +143,11 @@ class Page(Endpoint): url = None if 'referer' in cherrypy.request.headers: url = cherrypy.request.headers['referer'] - elif 'REQUEST_URI' in cherrypy.request.wsgi_environ: + r = urlparse(unquote(url)) + if r.query: + tid = t.find_tid(parse_qs(r.query)) + if not tid and 'REQUEST_URI' in cherrypy.request.wsgi_environ: url = cherrypy.request.wsgi_environ['REQUEST_URI'] - if url: r = urlparse(unquote(url)) if r.query: tid = t.find_tid(parse_qs(r.query)) -- 2.20.1