{ "info": { "author": "Masashi Shibata ", "author_email": "contact@c-bata.link", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware" ], "description": "wsgi-static-middleware\n======================\n\n.. image:: https://travis-ci.org/kobinpy/wsgi-static-middleware.svg?branch=master\n :target: https://travis-ci.org/kobinpy/wsgi-static-middleware\n\n.. image:: https://badge.fury.io/py/wsgi-static-middleware.svg\n :target: https://badge.fury.io/py/wsgi-static-middleware\n\nWSGI Middleware for serving static files.\n\nUsage\n-----\n\n.. code-block:: python\n\n import os\n from wsgiref.simple_server import make_server\n from wsgi_static_middleware import StaticMiddleware\n\n BASE_DIR = os.path.dirname(__name__)\n STATIC_DIRS = [os.path.join(BASE_DIR, 'static')]\n\n\n def app(env, start_response):\n start_response('200 OK', [('Conte-type', 'text/plain; charset=utf-8')])\n return [b'Hello World']\n\n app = StaticMiddleware(app, static_root='static', static_dirs=STATIC_DIRS)\n\n if __name__ == '__main__':\n httpd = make_server('', 8000, app)\n httpd.serve_forever()\n\n\n.. code-block:: bash\n\n $ curl -v localhost:8000/static/style.css\n * Trying ::1...\n * connect to ::1 port 8000 failed: Connection refused\n * Trying 127.0.0.1...\n * Connected to localhost (127.0.0.1) port 8000 (#0)\n > GET /static/style.css HTTP/1.1\n > Host: localhost:8000\n > User-Agent: curl/7.43.0\n > Accept: */*\n >\n * HTTP 1.0, assume close after body\n < HTTP/1.0 200 OK\n < Date: Sun, 11 Sep 2016 03:42:33 GMT\n < Server: WSGIServer/0.2 CPython/3.5.1\n < Content-Encodings:\n < Content-Type: text/css; charset=UTF-8\n < Content-Length: 30\n < Last-Modified: Sun, 11 Sep 2016 03:42:1473532953S GMT\n < Accept-Ranges: bytes\n <\n .foo {\n font-size: 10px;\n }\n * Closing connection 0\n\n\nLICENSE\n-------\n\n::\n\n MIT License\n\n Copyright (c) 2016 Masashi SHIBATA\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kobinpy/wsgi-static-middleware", "keywords": "wsgi middleware staticfile", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "wsgi-static-middleware", "package_url": "https://pypi.org/project/wsgi-static-middleware/", "platform": "", "project_url": "https://pypi.org/project/wsgi-static-middleware/", "project_urls": { "Homepage": "https://github.com/kobinpy/wsgi-static-middleware" }, "release_url": "https://pypi.org/project/wsgi-static-middleware/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "WSGI Middleware for serving static files", "version": "0.1.2" }, "last_serial": 2550291, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "be54984f6be8cb57dc6e6cd5ae7edf54", "sha256": "ca13802d6e1e7940342dc17be5fffa2d8c34f150adbe678d57c73d60c9093406" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "be54984f6be8cb57dc6e6cd5ae7edf54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4159, "upload_time": "2016-09-08T10:22:12", "url": "https://files.pythonhosted.org/packages/69/ba/7a727536f9f3bf97c769202aef10fb0a2bfee8f6ad6a6de12f2f12e785e4/wsgi_static_middleware-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3514860e52d90b412c65b30c7f9fd642", "sha256": "a98735c0bd3bf0553646a6ea3310db757bd8abbf9e1b064dd21840d3c3055e7a" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3514860e52d90b412c65b30c7f9fd642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2438, "upload_time": "2016-09-08T10:22:58", "url": "https://files.pythonhosted.org/packages/b4/49/2d30cf6d828f81efcca1e1a424ce729339650dc2414d77fafa557219ba2e/wsgi-static-middleware-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5008510d007135eabb33a76c0de4b5b9", "sha256": "c7bc3d0c60157687fc33639e811fdb8d82a27a04ec731c010f4b4b6787c392a8" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "5008510d007135eabb33a76c0de4b5b9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4301, "upload_time": "2016-09-08T14:25:26", "url": "https://files.pythonhosted.org/packages/7e/b6/11e802cf6fc04f6a71e0919726d431c5c6e73c4544264224ccc115dd9d9d/wsgi_static_middleware-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d709fdb8100527ffeed39581305f074", "sha256": "888067429af265a6bae72f7f1a1a60acd345fc88dc1858fb2fe44f3f936b6333" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4d709fdb8100527ffeed39581305f074", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4299, "upload_time": "2016-09-08T14:25:30", "url": "https://files.pythonhosted.org/packages/65/f9/325bf40193d8b8956bdcbf443bc40ae98fcdba5f678630f6bd519af4d892/wsgi_static_middleware-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "946524634dc70b10160f3b6eff88ed6e", "sha256": "def5741b1303d2abd8ce3c55050c90e2c39ba674b2b90c2ef8469d9f59a58e95" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.2.tar.gz", "has_sig": false, "md5_digest": "946524634dc70b10160f3b6eff88ed6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2549, "upload_time": "2016-09-08T14:25:33", "url": "https://files.pythonhosted.org/packages/91/7e/8692f66320a5d4365573ea645fd5e8e75a3d576617455605a6286c19aff9/wsgi-static-middleware-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0acff1876dfe8bccad3c6102929db75b", "sha256": "ccfb9212ff1dc39462f54e263cb26783f148fca4805d8cc36d072555d46628ec" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0acff1876dfe8bccad3c6102929db75b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5656, "upload_time": "2016-09-11T03:34:49", "url": "https://files.pythonhosted.org/packages/93/cb/46adfcb268cb6733e3f2b110dd255bab5ddffe170449bdedac48171b2893/wsgi_static_middleware-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61770c22dbe735142155230c80fe1de5", "sha256": "b17541727e0f6f6b6671694ffa84e9dd17352925edcaec0b80d5898a93411225" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.3.tar.gz", "has_sig": false, "md5_digest": "61770c22dbe735142155230c80fe1de5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3471, "upload_time": "2016-09-11T03:34:52", "url": "https://files.pythonhosted.org/packages/dc/74/c491e894c62b89d5c5d7619d0a40520fb6a473aaece8a5f775552eed0548/wsgi-static-middleware-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "7ef86408421eff4d41bee477f290b28f", "sha256": "8fa05e8e94ba26cd0582e06bdab6083d8eba35526c50501fb179e06306f12762" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "7ef86408421eff4d41bee477f290b28f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6479, "upload_time": "2016-09-21T05:34:07", "url": "https://files.pythonhosted.org/packages/fc/bb/56b604b0a44ec278abc03b4b8654f5631053aaac4e770918c6d6d6db040a/wsgi_static_middleware-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f81b2c1a82938bd2c5547e43f28bb35", "sha256": "a356cc603259d254f9953dce4a2a5581686019f313b10afa951ed021e013a3eb" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1f81b2c1a82938bd2c5547e43f28bb35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3962, "upload_time": "2016-09-21T05:34:09", "url": "https://files.pythonhosted.org/packages/fc/e9/04e17bf436d7859f0af80f3083e7aa05f8471ae08f68d3a3df81f22b6eec/wsgi-static-middleware-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "02ed2f794dbe9f6d11346556467c0eda", "sha256": "bf33d091c0e4a525194898fdef7861f8bea62c39486dacebffd4785c1be7a2ed" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "02ed2f794dbe9f6d11346556467c0eda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6474, "upload_time": "2016-09-21T05:38:32", "url": "https://files.pythonhosted.org/packages/25/b8/c187663780263cdd9a495c101ecbe82d2728a57d73f5203e977e8239ffa5/wsgi_static_middleware-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c42b50b159ce980fc05a7223c7da4e1b", "sha256": "91177b1fddf24d7a2a116ad1c62406d3928a27a610a47d5fc02bfdfac3223ad2" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.5.tar.gz", "has_sig": false, "md5_digest": "c42b50b159ce980fc05a7223c7da4e1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3957, "upload_time": "2016-09-21T05:38:34", "url": "https://files.pythonhosted.org/packages/b4/43/5bcb116d24082472074d6b7f12cc5005c95f2beb30ebd2076e7c25bfcac1/wsgi-static-middleware-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "fa1fc9cf02582905c09661cedd309c76", "sha256": "4e5cd9f61f380a2081e33851bbd8e105e17074a59ec92bc0e63d39dc8a83720a" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "fa1fc9cf02582905c09661cedd309c76", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6516, "upload_time": "2016-10-09T06:03:12", "url": "https://files.pythonhosted.org/packages/88/43/dc0439fe7ffa517cc6284538454313d550a93a987443b35ff2898ccb0307/wsgi_static_middleware-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50a67335fbe0b23992fce03fe365ab4b", "sha256": "24bbfd13297ff3b46f1ae6c5fed170a7de6ef8114220399eaa6f2d4189d1e987" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.6.tar.gz", "has_sig": false, "md5_digest": "50a67335fbe0b23992fce03fe365ab4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4005, "upload_time": "2016-10-09T06:03:14", "url": "https://files.pythonhosted.org/packages/85/b9/8a99b0f4e068a2fa4f4870ea819e0422472b6e5e9dd0a4a32c0ef911b5a2/wsgi-static-middleware-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d3572350f67a0b065c6630c5bf869527", "sha256": "2e5a9ea5f03aa3b432239c72607583a9007f63950f6203441f4bcc64988229d7" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "d3572350f67a0b065c6630c5bf869527", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6513, "upload_time": "2016-11-28T14:27:45", "url": "https://files.pythonhosted.org/packages/5c/e8/4125dd25ea0f6b576edd94770225009b37533f27b780b0795042874bc30c/wsgi_static_middleware-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7024515de550a46813398f8361d983ea", "sha256": "99b00c7173b2aad816320ba0ced4219576031a45699587adbe6ece7fa13b66c9" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.7.tar.gz", "has_sig": false, "md5_digest": "7024515de550a46813398f8361d983ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4001, "upload_time": "2016-11-28T14:27:47", "url": "https://files.pythonhosted.org/packages/4c/eb/ebaa7009ea775d680404386107aabee9e4f3c2f67f6f64dba4eea8656ea3/wsgi-static-middleware-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "3de49ad13d814193bbe4d49f906f9720", "sha256": "b65f18635101e00984244b9f686f19b0522b9afa71a29b764fa800be8feea7c8" }, "downloads": -1, "filename": "wsgi_static_middleware-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "3de49ad13d814193bbe4d49f906f9720", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6476, "upload_time": "2016-11-28T14:31:43", "url": "https://files.pythonhosted.org/packages/69/df/013deb1c488fd893c9e5f1adcf148c70773fa5769dec4d3b0cc030235e86/wsgi_static_middleware-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ccf6601355dc5847b125112a25a05b30", "sha256": "1f8b827d42dd9de4fcc1b592ae4b3e8283e90e74475bc0d656868e8636b1fa02" }, "downloads": -1, "filename": "wsgi-static-middleware-0.0.8.tar.gz", "has_sig": false, "md5_digest": "ccf6601355dc5847b125112a25a05b30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3955, "upload_time": "2016-11-28T14:31:48", "url": "https://files.pythonhosted.org/packages/86/c0/ecc6fcbff876f1f08c0f2bc26d47b1af5b5887dd9a782897cc6e488bd5c8/wsgi-static-middleware-0.0.8.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e36f5421261b0c07b1a43d086f48f2ac", "sha256": "3137032afbf3611198ca37f7a87c249c22449685191ac9dcdaa5bcae29f15938" }, "downloads": -1, "filename": "wsgi_static_middleware-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e36f5421261b0c07b1a43d086f48f2ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6550, "upload_time": "2016-12-02T02:39:07", "url": "https://files.pythonhosted.org/packages/82/13/e61325d40bc02b44b2c75d0920646ed6c2871e4765c26fea4af1b59e39c3/wsgi_static_middleware-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa70642c42b4c4413f7fad1511e32ea6", "sha256": "bc98bb32e61fc634d3f07919acac638b1ed99af015d4c6fd9815fb4505229713" }, "downloads": -1, "filename": "wsgi-static-middleware-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fa70642c42b4c4413f7fad1511e32ea6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4037, "upload_time": "2016-12-02T02:39:09", "url": "https://files.pythonhosted.org/packages/0c/b6/923b719fcbb0e5906b796e603b301228ce622aa43dc0a60c4cf27589b8b7/wsgi-static-middleware-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f23611e0636eda9aa22b855e5cdfcddf", "sha256": "42058b2d022190716bf56b8844e1785dd2f9767eea8477d1f261b6034d2273c7" }, "downloads": -1, "filename": "wsgi_static_middleware-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f23611e0636eda9aa22b855e5cdfcddf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6554, "upload_time": "2016-12-04T13:54:50", "url": "https://files.pythonhosted.org/packages/04/c2/9c1f0c69576642a06d523c9f9bb37b49f6b8d1bbd0d46a5ca2a4014f4428/wsgi_static_middleware-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed24cb0662b666484200bbaf7a148108", "sha256": "6dd7eeac863ec720300a07b21a1394343baa3051c9268c13c41b5b94ac5be12f" }, "downloads": -1, "filename": "wsgi-static-middleware-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ed24cb0662b666484200bbaf7a148108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4039, "upload_time": "2016-12-04T13:54:53", "url": "https://files.pythonhosted.org/packages/4f/4b/9cd46206f91256c612c30bf64a6219d93ec10735bb4bc70a009434ca51df/wsgi-static-middleware-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "21fb1972d69ae92a38980d07b11407e3", "sha256": "e77aa5e2bd432d9b6b56d44a23c67a520309439ea888749e3d012cd7ff6eeda2" }, "downloads": -1, "filename": "wsgi_static_middleware-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "21fb1972d69ae92a38980d07b11407e3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6561, "upload_time": "2017-01-02T17:54:31", "url": "https://files.pythonhosted.org/packages/f9/6c/03fc86dcf25fb3b60dc81027ef06dc9c308bb00f0fa79d241263eb391099/wsgi_static_middleware-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12559427b203f0adb26ab27ef3959a5d", "sha256": "7d58564cc74ff53d00d9973a9533685081343ee0cb929b0a1a1b4f2a17f6e2a1" }, "downloads": -1, "filename": "wsgi-static-middleware-0.1.2.tar.gz", "has_sig": false, "md5_digest": "12559427b203f0adb26ab27ef3959a5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4046, "upload_time": "2017-01-02T17:54:34", "url": "https://files.pythonhosted.org/packages/d7/cc/33e2b7b152139154b44d35dc69a60c33cff6050eed90ee2cef8e77702203/wsgi-static-middleware-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21fb1972d69ae92a38980d07b11407e3", "sha256": "e77aa5e2bd432d9b6b56d44a23c67a520309439ea888749e3d012cd7ff6eeda2" }, "downloads": -1, "filename": "wsgi_static_middleware-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "21fb1972d69ae92a38980d07b11407e3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6561, "upload_time": "2017-01-02T17:54:31", "url": "https://files.pythonhosted.org/packages/f9/6c/03fc86dcf25fb3b60dc81027ef06dc9c308bb00f0fa79d241263eb391099/wsgi_static_middleware-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12559427b203f0adb26ab27ef3959a5d", "sha256": "7d58564cc74ff53d00d9973a9533685081343ee0cb929b0a1a1b4f2a17f6e2a1" }, "downloads": -1, "filename": "wsgi-static-middleware-0.1.2.tar.gz", "has_sig": false, "md5_digest": "12559427b203f0adb26ab27ef3959a5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4046, "upload_time": "2017-01-02T17:54:34", "url": "https://files.pythonhosted.org/packages/d7/cc/33e2b7b152139154b44d35dc69a60c33cff6050eed90ee2cef8e77702203/wsgi-static-middleware-0.1.2.tar.gz" } ] }