From: Simo Sorce Date: Thu, 12 Mar 2015 17:51:04 +0000 (-0400) Subject: Proper fallback from referer to REQUEST_URI X-Git-Tag: v0.5.0~30 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=078942b2cf6d73697f4c6b8a28cabe940f358532 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 --- 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))