annotate redirectall/dispatcher.py @ 1:3117c5556eca default tip

update redirectall
author Jeff Hammel <jhammel@mozilla.com>
date Sun, 08 May 2011 19:14:21 -0700
parents 9e2187433034
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 """
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 request dispatcher
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 from webob import Request, exc
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
1
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
7 class RedirectAll(object):
0
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 ### class level variables
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 def __init__(self, base_url):
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 self.base_url = base_url
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 ### methods dealing with HTTP
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 def __call__(self, environ, start_response):
9e2187433034 initial code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 request = Request(environ)
1
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
17 location = self.base_url + request.path
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
18 if request.query_string:
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
19 location += '?' + request.query_string
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
20 response = exc.HTTPMovedPermanently(location=location)
3117c5556eca update redirectall
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
21 return response(environ, start_response)