{ "info": { "author": "Justin Wilson", "author_email": "justinwilson1@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: BSD License", "Topic :: Utilities" ], "description": "gserver 0.2.0\n==============\n\nSimple wrapper around `gevent`_ that provides a basic routing engine\nand JSON/JSONP handling.\n\nHere's a simple usage example::\n\n from gevent.monkey import patch_all; patch_all()\n from gevent import queue\n\n from gserver.routes import Routes\n from gserver.request import parse_vals\n from gserver.wsgi import WSGIServer\n\n routes = Routes()\n route = routes.route\n route_json = routes.route_json\n\n @route(\"^/example/$\")\n def example(req):\n return \"hello\"\n\n @route(\"^/poll/$\")\n def poll(request):\n yield ' ' * 1000\n yield \"hello\"\n sleep(5)\n yield \"goodbye\" # connection is closed at this point\n\n @route(\"^/queue/$\")\n def q(request):\n def process(b):\n b.put(\"