├── .editorconfig ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── feature-request.yml │ └── issue.yml ├── SECURITY.md ├── pull_request_template.md └── workflows │ └── ci.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .prettierrc ├── .vscode └── extensions.json ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── docs ├── mkdocs.yml └── src │ ├── asgi.md │ ├── assets │ └── css │ │ └── main.css │ ├── changelog.md │ ├── contributing.md │ ├── dictionary.txt │ ├── django-faq.md │ ├── django-settings.md │ ├── django.md │ ├── index.md │ ├── license.md │ ├── quick-start.md │ ├── servestatic-asgi.md │ ├── servestatic.md │ └── wsgi.md ├── pyproject.toml ├── scripts ├── generate_default_media_types.py └── validate_changelog.py ├── src └── servestatic │ ├── __init__.py │ ├── asgi.py │ ├── base.py │ ├── compress.py │ ├── media_types.py │ ├── middleware.py │ ├── responders.py │ ├── runserver_nostatic │ ├── __init__.py │ └── management │ │ ├── __init__.py │ │ └── commands │ │ ├── __init__.py │ │ └── runserver.py │ ├── storage.py │ ├── utils.py │ └── wsgi.py └── tests ├── __init__.py ├── conftest.py ├── django_settings.py ├── django_urls.py ├── middleware.py ├── test_asgi.py ├── test_compress.py ├── test_django_servestatic.py ├── test_files ├── assets │ ├── compressed.css │ ├── compressed.css.gz │ ├── custom-mime.foobar │ ├── subdir │ │ └── javascript.js │ └── with-index │ │ └── index.html ├── root │ └── robots.txt └── static │ ├── app.js │ ├── directory │ ├── .keep │ └── pixel.gif │ ├── large-file.txt │ ├── nonascii✓.txt │ ├── styles.css │ └── with-index │ └── index.html ├── test_media_types.py ├── test_runserver_nostatic.py ├── test_servestatic.py ├── test_storage.py ├── test_string_utils.py └── utils.py /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/ISSUE_TEMPLATE/feature-request.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/issue.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/ISSUE_TEMPLATE/issue.yml -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/SECURITY.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.prettierrc -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/README.md -------------------------------------------------------------------------------- /docs/mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/mkdocs.yml -------------------------------------------------------------------------------- /docs/src/asgi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/asgi.md -------------------------------------------------------------------------------- /docs/src/assets/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/assets/css/main.css -------------------------------------------------------------------------------- /docs/src/changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/changelog.md -------------------------------------------------------------------------------- /docs/src/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/contributing.md -------------------------------------------------------------------------------- /docs/src/dictionary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/dictionary.txt -------------------------------------------------------------------------------- /docs/src/django-faq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/django-faq.md -------------------------------------------------------------------------------- /docs/src/django-settings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/django-settings.md -------------------------------------------------------------------------------- /docs/src/django.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/django.md -------------------------------------------------------------------------------- /docs/src/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/index.md -------------------------------------------------------------------------------- /docs/src/license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/license.md -------------------------------------------------------------------------------- /docs/src/quick-start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/quick-start.md -------------------------------------------------------------------------------- /docs/src/servestatic-asgi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/servestatic-asgi.md -------------------------------------------------------------------------------- /docs/src/servestatic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/servestatic.md -------------------------------------------------------------------------------- /docs/src/wsgi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/docs/src/wsgi.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scripts/generate_default_media_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/scripts/generate_default_media_types.py -------------------------------------------------------------------------------- /scripts/validate_changelog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/scripts/validate_changelog.py -------------------------------------------------------------------------------- /src/servestatic/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/__init__.py -------------------------------------------------------------------------------- /src/servestatic/asgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/asgi.py -------------------------------------------------------------------------------- /src/servestatic/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/base.py -------------------------------------------------------------------------------- /src/servestatic/compress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/compress.py -------------------------------------------------------------------------------- /src/servestatic/media_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/media_types.py -------------------------------------------------------------------------------- /src/servestatic/middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/middleware.py -------------------------------------------------------------------------------- /src/servestatic/responders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/responders.py -------------------------------------------------------------------------------- /src/servestatic/runserver_nostatic/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/servestatic/runserver_nostatic/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/servestatic/runserver_nostatic/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/servestatic/runserver_nostatic/management/commands/runserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/runserver_nostatic/management/commands/runserver.py -------------------------------------------------------------------------------- /src/servestatic/storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/storage.py -------------------------------------------------------------------------------- /src/servestatic/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/utils.py -------------------------------------------------------------------------------- /src/servestatic/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/src/servestatic/wsgi.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/django_settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/django_settings.py -------------------------------------------------------------------------------- /tests/django_urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/django_urls.py -------------------------------------------------------------------------------- /tests/middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/middleware.py -------------------------------------------------------------------------------- /tests/test_asgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/test_asgi.py -------------------------------------------------------------------------------- /tests/test_compress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/test_compress.py -------------------------------------------------------------------------------- /tests/test_django_servestatic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/test_django_servestatic.py -------------------------------------------------------------------------------- /tests/test_files/assets/compressed.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/test_files/assets/compressed.css -------------------------------------------------------------------------------- /tests/test_files/assets/compressed.css.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Archmonger/ServeStatic/HEAD/tests/test_files/assets/compressed.css.gz -------------------------------------------------------------------------------- /tests/test_files/assets/custom-mime.foobar: -------------------------------------------------------------------------------- 1 | fizzbuzz 2 | -------------------------------------------------------------------------------- /tests/test_files/assets/subdir/javascript.js: -------------------------------------------------------------------------------- 1 | var myFunction = { 2 | return 42; 3 | }; 4 | -------------------------------------------------------------------------------- /tests/test_files/assets/with-index/index.html: -------------------------------------------------------------------------------- 1 | 2 |