comparison webob_view/template/+package+/dispatcher.py @ 2:4ebaf68f2272

moving to dispatcher as that's what it is now
author k0s <k0scist@gmail.com>
date Thu, 29 Oct 2009 15:11:05 -0400
parents webob_view/template/+package+/+package+.py_tmpl@eb2cb7ebc849
children 4dcb932065e4
comparison
equal deleted inserted replaced
1:eb2cb7ebc849 2:4ebaf68f2272
1 """
2 request dispatcher
3 """
4
5 from handlers import Get, Post
6 from webob import Request, exc
7
8 class Dispatcher(object):
9
10 ### class level variables
11 defaults = {}
12
13 def __init__(self, **kw):
14 for key in self.defaults:
15 setattr(self, key, kw.get(key, self.defaults[key]))
16 self.handlers = [ Get, Post ]
17
18 ### methods dealing with HTTP
19 def __call__(self, environ, start_response):
20 request = Request(environ)
21 for h in self.handlers:
22 if h.match(request):
23 handler = h(request)
24 break
25 res = handler()
26 return res(environ, start_response)