-
-
Notifications
You must be signed in to change notification settings - Fork 185
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededneeds-triageNeeds to be reviewedNeeds to be reviewed
Description
I cannot pass a direct FastAPI response like JSON/ORJSONResponse
as an output for the FastAPI route; when I do, the first response is correct, but then the first cache HIT is double encoded.
Setup
redis = await aioredis.Redis(
host="localhost",
port=6379,
db=1,
decode_responses=False,
)
FastAPICache.init(RedisBackend(redis), prefix="fastapi-cache")
The double encoded data comes if the return object is like:
return ORJSONResponse(content=result)
The result object is a list of dicts result = lf.collect().to_dicts()
. This turns a LazyFrame into a list of dicts list[dict[str, Any]]
.
If I pass the object directly then it works, but how can I pass the direct response, to bypass FastAPIs encoding or passing the custom ORJSONResponse
so that the encoding engine uses orjson
and not just json
CharlesPerrotMinot
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededneeds-triageNeeds to be reviewedNeeds to be reviewed