Skip to main content

A normalizer for session middleware in FastHTML

Project description

Requirements

  • Python 3.6+
  • FastHTML 0.4.0+

Issues and Contributions

If you encounter any issues or have suggestions for improvements, please use the GitHub Issues page to report them.

Usage

SessionNormalizerMiddleware provides a drop-in replacement for the standard fasthtml session middleware class. This session middleware class aggressively converts session stored data to a format that can be serialized.

Simple example:

from fasthtml_sessionnormalizer.middleware import SessionNormalizerMiddleware
from fasthtml import FastHTML


app = FastHTML(sess_cls=SessionNormalizerMiddleware)

@app.get("/")
def default(session, item_id: UUID):
    session["item_id"] = item_id

The above endpoint will successfully store a UUID object in the session, converting it to a string before returning it to the user. Note: objects that only provide a __str__ method that matches that of the default object class as the sole mechanism of conversion will not be serialized, as the assumption is that the default string representation of an object provides no meaningful semantic data to be persisted in a user session. Other mechanisms of conversion that the middleware will try to use include custom __str__ methods, __dict__ attributes, __json__ attributes, and other common mechanisms that allow for an object to be represented in such a way as to be serialized.

Contributing

This project is open for contributions from the public. If you see any room for improvement, open an issue with your suggestion and we can discuss it.

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

fasthtml_sessionnormalizer-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file fasthtml_sessionnormalizer-0.1.0.tar.gz.

File metadata

  • Download URL: fasthtml_sessionnormalizer-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.9.7-arch1-1

File hashes

Hashes for fasthtml_sessionnormalizer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d30ab4b08286fd8365031473769c70243f337e94b64cb1a6b93694d6127d490
MD5 b871156ba895eda44348fa10cec0eba1
BLAKE2b-256 a1f426db49bf165291bd35a0ab8d9cdff4c7663e83786175787327b41479b645

See more details on using hashes here.

File details

Details for the file fasthtml_sessionnormalizer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fasthtml_sessionnormalizer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 274e9ecf2194cf2cc00bdfdbb73f429ffe208e497c3e7340cd2558c9345dee38
MD5 b165e1f1c386d4f5b2d857209fee2a75
BLAKE2b-256 c721e570e66edc11c72014bf92b38fbf03a3e2640ef7b12cc42622d25067c235

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