Mercurial > hg > webob_view
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) |