Skip to main content

Security Headers for asgi apps

Project description

🧙 asgi-sage

Test Suite Package version

Security Headers Middleware for Asgi App heavily inspired by flask-talisman

Installation

pip install asgi-sage

Usage

from asgi_sage.middleware import SageMiddleware

async def app(scope, receive, send):
    assert scope["type"] == "http"
    headers = [(b"content-type", "text/plain")]
    await send({"type": "http.response.start", "status": 200, "headers": headers})
    await send({"type": "http.response.body", "body": b"Hello, world!"})

app = SageMiddleware(app)

Options

  • feature_policy: dict = {}, force_https: bool = True
  • force_https: bool = False
  • force_https_permanent: bool = False
  • frame_options: Optional[str] = "SAMEORIGIN"
  • strict_transport_security: bool = True
  • strict_transport_security_preload: bool = False
  • strict_transport_security_max_age: int = 60 * 60 * 24 * 365
  • strict_transport_security_include_subdomains: bool = True
  • content_security_policy: Optional[dict] = None
  • referrer_policy: str = "strict-origin-when-cross-origin"
  • session_cookie_secure: bool = True
  • session_cookie_http_only: bool = True
  • content_type_nosniff: bool = True

Road Map

  • Per Request overriding

  • Add tests for different ASGI frameworks like Quart and Django 3.0+

  • Properly support websockets

  • Auto Changelog

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asgi-sage-0.1.2.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

asgi_sage-0.1.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file asgi-sage-0.1.2.tar.gz.

File metadata

  • Download URL: asgi-sage-0.1.2.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-7648-generic

File hashes

Hashes for asgi-sage-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b11590c4500ce4a8bf5ca47ea4a0a215773f974d159f41e917c6fdba2488f35b
MD5 2a84b595b341d3234a9fd0db646becee
BLAKE2b-256 44609462af2c6b59c27c0c7c1e706e4142de64930a60b0a62c537d486d0042ae

See more details on using hashes here.

File details

Details for the file asgi_sage-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: asgi_sage-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-7648-generic

File hashes

Hashes for asgi_sage-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 63f76e8e61dd17680e7bb03457d33a6160aa87f09785f1c04fa34d9b06c121d0
MD5 b7ebcf71f8b609cb1534cf5d3bbbbe46
BLAKE2b-256 12ec816b852488deace74e78351d9d81aeac7dfafd26751d7e30190392fd90c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page