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.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce38f063640209e0954ba33312c9c1c3da8c1f4ef915fc8b493bebf71be16cad |
|
MD5 | ba128a6c9f3561a0e759d7eaf22d698f |
|
BLAKE2b-256 | 70d2b1a3fa1c7fec963447f0249b848cf0a9945f75cddf32d298aeb7009ba54c |
Close
Hashes for fastapi_redis_session-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a49d66c1ba6119b7c0a44df5716da28bb74087e521d1e7f70cf3516026d43e8 |
|
MD5 | 2046349c0b449fcc7026fdecf90ab520 |
|
BLAKE2b-256 | 8709c842e6cf5bf741839b2a8bc04391af6f67b127dd39b74e98ab55b695fc29 |