From 06b116ed91fa002046a4a0a3b109bfc1cf3451c7 Mon Sep 17 00:00:00 2001 From: richard Date: Wed, 26 Feb 2003 05:05:56 +0000 Subject: [PATCH] fix (again?) trailing / redirect (sf bug 692910) git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@1550 57a73879-2fb5-44c3-a270-3262357dd7e2 --- CHANGES.txt | 1 + roundup/scripts/roundup_server.py | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index b37db62..688f2d9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -65,6 +65,7 @@ are given with the most recent entry first. file serving - added Node.get() method - open static files using binary mode (sf bug 693208) +- fixed deja-vu bug 692910 2003-??-?? 0.5.6 diff --git a/roundup/scripts/roundup_server.py b/roundup/scripts/roundup_server.py index 8c85048..23cd8e9 100644 --- a/roundup/scripts/roundup_server.py +++ b/roundup/scripts/roundup_server.py @@ -16,7 +16,7 @@ # """ HTTP Server that serves roundup. -$Id: roundup_server.py,v 1.19 2003-02-26 04:51:41 richard Exp $ +$Id: roundup_server.py,v 1.20 2003-02-26 05:05:56 richard Exp $ """ # python version check @@ -123,11 +123,25 @@ class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): else: query = '' - # figure the tracker + # no tracker - spit out the index if rest == '/': return self.index() + + # figure the tracker l_path = rest.split('/') tracker_name = urllib.unquote(l_path[1]) + + # handle missing trailing '/' + if len(l_path) == 2: + self.send_response(301) + # redirect - XXX https?? + protocol = 'http' + url = '%s://%s%s/'%(protocol, self.headers['host'], self.path) + self.send_header('Location', url) + self.end_headers() + self.wfile.write('Moved Permanently') + return + if self.TRACKER_HOMES.has_key(tracker_name): tracker_home = self.TRACKER_HOMES[tracker_name] tracker = roundup.instance.open(tracker_home) -- 2.39.5