How can I set an arbitrary attribute to the Request
object from the middleware function?
from fastapi import FastAPI, Request
app = FastAPI()
@app.middleware("http")
async def set_custom_attr(request: Request, call_next):
request.custom_attr = "This is my custom attribute"
response = await call_next(request)
return response
@app.get("/")
async def root(request: Request):
return {"custom_attr": request.custom_attr}
This setup is raising an exception,
AttributeError: 'Request' object has no attribute 'custom_attr'
So, how can I get the "This is my custom attribute"
value in my router?