etag-middleware 0.2.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

etagmiddleware 0.2.0

ETag Middleware


A middleware to handle ETag for Starlette or FastAPI.
Installation
pip install etag-middleware

Usage
FastAPI
from etag import ETagMiddleware
from fastapi import FastAPI
from fastapi.middleware import Middleware

app = FastAPI(middleware=[Middleware(ETagMiddleware)])

Starlette
from etag import ETagMiddleware
from starlette.applications import Starlette
from starlette.middleware import Middleware

app = Starlette(middleware=[Middleware(ETagMiddleware)])

Notice


It won't compute ETag for requests with body size less than 80 bytes by default. Beacause ETag and If-None-Match increase more than 70 bytes to the response header, and computing ETag consumes CPU. You can adjust it by setting minimum_size:
app = FastAPI(middleware=[Middleware(ETagMiddleware, minimum_size=0)])



It won't compute ETag for StreamingResponse. Because it will delay sending the response until collected all its body and consumes more memory.


It compares ETag with If-None-Match for FileResponse.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.