FastAPIΒΆ
The simplest example for FastAPI, which demonstrates the work of this library.
from random import randint
from fastapi import FastAPI, Request
from fastapi.responses import ORJSONResponse
from redis.asyncio import Redis
from redsession import ServerSessionMiddleware
from redsession.backend import RedisBackend
app = FastAPI(default_response_class=ORJSONResponse)
redis = Redis(host="192.168.1.3", protocol=3)
app.add_middleware(
ServerSessionMiddleware, backend=RedisBackend(redis), secret_key="secret"
)
@app.get("/get_session")
async def get_session(request: Request):
return {"session": request.session}
@app.post("/set_session")
async def set_session(request: Request):
request.session.update({"id": 1})
return {"session": request.session}
@app.put("/update_session")
async def update_session(request: Request):
request.session.clear()
request.session.update({"user_id": randint(-100, 100)})
return {"session": request.session}
@app.delete("/delete_session")
async def delete_session(request: Request):
request.session.clear()
return {"session": request.session}