A redis-based session backend for Fastapi apps
Project description
fastapi-redis-session
A redis-based session backend for Fastapi apps
Install
pip install -U fastapi-redis-session
Use
from typing import Any
from fastapi import Depends, FastAPI, Request, Response
from fastapi_redis_session import deleteSession, getSession, getSessionId, getSessionStorage, setSession, SessionStorage
app = FastAPI(title=__name__)
@app.post("/setSession")
async def _setSession(
request: Request, response: Response, sessionStorage: SessionStorage = Depends(getSessionStorage)
):
sessionData = await request.json()
setSession(response, sessionData, sessionStorage)
@app.get("/getSession")
async def _setSession(session: Any = Depends(getSession)):
return session
@app.post("/deleteSession")
async def _deleteSession(
sessionId: str = Depends(getSessionId), sessionStorage: SessionStorage = Depends(getSessionStorage)
):
deleteSession(sessionId, sessionStorage)
return None
Config
Deafult Config
- url of Redis: redis://localhost:6379/0
- name of sessionId: ssid
- generator function of sessionId:
lambda :uuid.uuid4().hex
- expire time of session in redis: 6 hours
Custom Config
from fastapi_redis_session.config import basicConfig
basicConfig(
redisURL="redis://localhost:6379/1",
sessionIdName="sessionId",
sessionIdGenerator=lambda: str(random.randint(1000, 9999)),
expireTime=timedelta(days=1),
)
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
Built Distribution
Close
Hashes for fastapi-redis-session-0.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c502d485c45e17af0de713c6457328fb35aa8ac99321b8f1affaae28c8067429 |
|
MD5 | 9d05157118b04af50e486de294c5f6c0 |
|
BLAKE2b-256 | 030996a11d171a785345be63f9840dac166eea0b227973560ebecedb60f9143e |
Close
Hashes for fastapi_redis_session-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2baebd6a82cc7cfec9a1b6545edfd5550b3446352abfd65d4929fe32949cdd7a |
|
MD5 | ea2a11d6ac687be1f2384ad09e131560 |
|
BLAKE2b-256 | 962a9f2fbda9f9b86abedecfa2c181adc99f0012390c1ba0dbd7e52a9e180593 |