{ "info": { "author": "Ryan Kelly", "author_email": "ryan@rfk.id.au", "bugtrack_url": null, "classifiers": [], "description": "proxylet: lightweight HTTP reverse proxy built on eventlet\n\nThis module implements a lightweight reverse proxy for HTTP, using non-blocking\nIO based on the eventlet module. It aims to do as little as possible while\nsupporting simple request/response rewriting and being compatible with HTTP\nkeep-alive.\n\nBasic operation is via the 'serve' function, which will bind to the\nspecified host and port and start accepting incoming HTTP requests:\n\n proxylet.serve(host,port,mapper)\n\nHere 'mapper' is a function taking a proxylet.streams.HTTPRequest object,\nand returning either None (for '404 Not Found') or a 3-tuple giving the\ndestination host, destination port, and a rewriter object.\n\nThe rewriter can be any callable that takes request and response streams\nas arguments and returns wrapped versions of them, but it will most likely\nbe a subclass of proxylet.relocate.Relocator. This class has the necessary\nlogic to rewrite the request for proxying.\n\nAs an example of the available functionality, this mapping function will\nproxy requests to /svn to a private subversion server, requests to /files\nto a private fileserver, and return 404 for any other paths:\n\n def mapper(req):\n svn = SVNRelocator(\"http://www.example.com/svn\",\"http://svn.example.com/\")\n if svn.matchesLocal(req.reqURI):\n return svn.mapping # contains the (host,port,rewriter) tuple\n if req.reqURI.startswith(\"/files/\"):\n return (\"files.example.com\",80,None)\n return None", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "HTTP reverse proxy", "license": "PSF", "maintainer": null, "maintainer_email": null, "name": "proxylet", "package_url": "https://pypi.org/project/proxylet/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/proxylet/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/proxylet/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Lightweight HTTP reverse proxy built on eventlet", "version": "0.1.1" }, "last_serial": 796752, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "342e8f8b987361e60c255218db97b567", "sha256": "ad9fb4d6549b698af8b6cd257091d9bd22ebdf81ba2a489a961f0770001ffaac" }, "downloads": -1, "filename": "proxylet-0.1.0-py2.5.egg", "has_sig": false, "md5_digest": "342e8f8b987361e60c255218db97b567", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 22987, "upload_time": "2007-12-27T14:04:50", "url": "https://files.pythonhosted.org/packages/f1/0c/6fc76c26b7a79f6d30d7ca503ed9a9af446655e6ddc20932c1625c6e0d13/proxylet-0.1.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "3bad653d1f12db3703b6c588a8c0cd46", "sha256": "f1e20ae86943d8b4dec81d19d53aa765d59a34ef8a77fbdf610dba933c9f7b82" }, "downloads": -1, "filename": "proxylet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3bad653d1f12db3703b6c588a8c0cd46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11479, "upload_time": "2007-12-27T14:04:46", "url": "https://files.pythonhosted.org/packages/fa/22/0327673296048b164ea2f64bcd60132d4c0d0307c69954b2c78b0234ff17/proxylet-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c6e350768c26978c1137eaaf53b7329b", "sha256": "1162d15d3479c8ae8b10f52581a3919781839975d34a89afdd0067b062357218" }, "downloads": -1, "filename": "proxylet-0.1.1-py2.5.egg", "has_sig": false, "md5_digest": "c6e350768c26978c1137eaaf53b7329b", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 23174, "upload_time": "2009-03-18T01:20:56", "url": "https://files.pythonhosted.org/packages/60/ba/21d1d3ff6894d0514f8f126599030684796b2e14e5a8d55a3d08e1c73b99/proxylet-0.1.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "76c3922546be56e3f1e868db24c93ee7", "sha256": "717b3e6bc2f09a9cdae113adcc12856b98adb2af70164bf702d646a14aa4fd65" }, "downloads": -1, "filename": "proxylet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "76c3922546be56e3f1e868db24c93ee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8816, "upload_time": "2009-03-18T01:20:45", "url": "https://files.pythonhosted.org/packages/e2/80/d5fca9bcc5b097917d2c241c5da3b1ad31586086ec254aabc6e8ff8fa485/proxylet-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c6e350768c26978c1137eaaf53b7329b", "sha256": "1162d15d3479c8ae8b10f52581a3919781839975d34a89afdd0067b062357218" }, "downloads": -1, "filename": "proxylet-0.1.1-py2.5.egg", "has_sig": false, "md5_digest": "c6e350768c26978c1137eaaf53b7329b", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 23174, "upload_time": "2009-03-18T01:20:56", "url": "https://files.pythonhosted.org/packages/60/ba/21d1d3ff6894d0514f8f126599030684796b2e14e5a8d55a3d08e1c73b99/proxylet-0.1.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "76c3922546be56e3f1e868db24c93ee7", "sha256": "717b3e6bc2f09a9cdae113adcc12856b98adb2af70164bf702d646a14aa4fd65" }, "downloads": -1, "filename": "proxylet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "76c3922546be56e3f1e868db24c93ee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8816, "upload_time": "2009-03-18T01:20:45", "url": "https://files.pythonhosted.org/packages/e2/80/d5fca9bcc5b097917d2c241c5da3b1ad31586086ec254aabc6e8ff8fa485/proxylet-0.1.1.tar.gz" } ] }