{ "info": { "author": "David Beitey", "author_email": "python@davidjb.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": ".. contents::\n\nIntroduction\n============\n\nSimple package that extends the proxy object within ``Paste`` to allow\nthe WSGI proxy to read its connection location from arbitrary headers.\nIt will keep all other headers (including ``Host:`` intact during transit);\nyou may or may not need to adjust what you're doing upstream accordingly.\n\nConfiguration\n-------------\n\nBy default, the proxy will read the host to connect to from the\n``X-Proxy-Force-Host`` header and read the connection scheme from\n``X-Proxy-Force-Scheme``. \n\nYou can override these using relevant configuration\nlike follows. Keep in mind that at time of proxy, we're reading headers from\nthe ``environ`` dictionary, so specify your headers in this manner. For \ninstance, ``X-Proxy-Foobar`` will become visible in the ``environ`` dict\nas ``HTTP_PROXY_FOOBAR`` (noting dashes to underscores, and replacement\nof ``X`` with ``HTTP``). You can make this mapping happen thusly::\n\n [app:proxy]\n use = egg:djb.headerproxy\n force_host = HTTP_PROXY_FORCE_HOST\n force_scheme = HTTP_PROXY_FORCE_SCHEME\n\nThe above example is overly verbose, however, as we already default to \nusing these specific headers. This does demonstrate how you can customise\nthis behaviour to suit you -- for instance, if your front-end automatically\nprovides some headers, you can configure the mapping accordingly.\n\nWarning\n-------\n\nIf unprotected, this WSGI middleware could be used as an open proxy since\nheaders can easily be spoofed. You should take steps to either firewall off\nyour application, drop headers at an upstream web server, run this as a\nlocal socket, or do something similar (or all of the above!).\n\nYou've been warned.\n\nSource code\n-----------\n\nAvailable on GitHub at http://github.com/davidjb/djb.headerproxy/ - fork away!\n\n\nContributors\n============\n\nDavid Beitey, Author\n\nChangelog\n=========\n\n0.1.1 (2012-08-09)\n------------------\n\n- Add a ``main`` entry point as well - this is just an alias to the same\n proxy app.\n [davidjb]\n\n\n0.1 (2012-08-03)\n----------------\n\n- Initial creation of proxy that uses header-based configuration.\n [davidjb]\n- Package created using templer\n [davidjb]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/davidjb/djb.headerproxy/", "keywords": "proxy paste headers http", "license": "gpl", "maintainer": null, "maintainer_email": null, "name": "djb.headerproxy", "package_url": "https://pypi.org/project/djb.headerproxy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/djb.headerproxy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/davidjb/djb.headerproxy/" }, "release_url": "https://pypi.org/project/djb.headerproxy/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Paste proxies with the ability to proxy to a location based upon an incoming header", "version": "0.1.1" }, "last_serial": 721943, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0b76721e81f1df1ff72983e548c6e470", "sha256": "720040f9707cde08891b1a82387cead5c7891b162fd79d897d5432e12caf304b" }, "downloads": -1, "filename": "djb.headerproxy-0.1.zip", "has_sig": false, "md5_digest": "0b76721e81f1df1ff72983e548c6e470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15335, "upload_time": "2012-08-03T03:20:28", "url": "https://files.pythonhosted.org/packages/58/3f/0c6d2892a62d4f4f2c349cf742044b52b044175f70f8092e37c8ce9a6cc3/djb.headerproxy-0.1.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5f4cdaf9c2a48a4fc290041ccc25f1b4", "sha256": "c261836cc5e2c85966db74b4c101e66cb9b6a854f7b688e82ee17885d8684baa" }, "downloads": -1, "filename": "djb.headerproxy-0.1.1.zip", "has_sig": false, "md5_digest": "5f4cdaf9c2a48a4fc290041ccc25f1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15847, "upload_time": "2012-08-09T03:31:14", "url": "https://files.pythonhosted.org/packages/f5/7d/5dc9703da4120cfeee56da89a730a7a0535c5801be23d287ff7e1d2aaed5/djb.headerproxy-0.1.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f4cdaf9c2a48a4fc290041ccc25f1b4", "sha256": "c261836cc5e2c85966db74b4c101e66cb9b6a854f7b688e82ee17885d8684baa" }, "downloads": -1, "filename": "djb.headerproxy-0.1.1.zip", "has_sig": false, "md5_digest": "5f4cdaf9c2a48a4fc290041ccc25f1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15847, "upload_time": "2012-08-09T03:31:14", "url": "https://files.pythonhosted.org/packages/f5/7d/5dc9703da4120cfeee56da89a730a7a0535c5801be23d287ff7e1d2aaed5/djb.headerproxy-0.1.1.zip" } ] }