# HG changeset patch # User Jeff Hammel # Date 1355093483 28800 # Node ID 42f4848808089e64115aca5cb22508e4dee102b9 # Parent 7a3b21cafc009a7f852b91dd6560a9f131242e60 wire this up diff -r 7a3b21cafc00 -r 42f484880808 wsgraph/formatters.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wsgraph/formatters.py Sun Dec 09 14:51:23 2012 -0800 @@ -0,0 +1,3 @@ +""" +formatters for WSGraph +""" diff -r 7a3b21cafc00 -r 42f484880808 wsgraph/web.py --- a/wsgraph/web.py Sun Dec 09 10:40:17 2012 -0800 +++ b/wsgraph/web.py Sun Dec 09 14:51:23 2012 -0800 @@ -28,9 +28,16 @@ 1: JSONFormatter, 2: JSONFormatter} + self.methods = dict([(i, getattr(self, i)) + for i in dir(self) + if i.isupper()]) + def __call__(self, environ, start_response): request = Request(environ) - import pdb; pdb.set_trace() + method = self.methods.get(request.method) + if method is None: + return exc.HTTPMethodNotAllowed()(environ, start_response) + response = method(request) return response(environ, start_response) @staticmethod @@ -76,15 +83,30 @@ """respond to a HEAD request""" raise NotImplementedError + def OPTIONS(self, request): + raise NotImplementedError + if __name__ == '__main__': + ### example web server + # imports from wsgiref import simple_server - from .model import MemoryCache + from model import MemoryCache + from optparse import OptionParser + # parse command line options + parser = OptionParser() + parser.add_option('-p', '--port', type='int', default=8080, + help="port to serve on") + options, args = parser.parse_args() + + # example model graph = MemoryCache() + # WSGI app app = Dispatcher(graph=graph) - server = simple_server.make_server(host='0.0.0.0', port=8080, app=app) + server = simple_server.make_server(host='0.0.0.0', port=options.port, app=app) + print 'http://localhost:%s/' % options.port server.serve_forever()