fastapi/docs_src/dependencies/tutorial005_py310.py

23 lines
538 B
Python

from fastapi import Cookie, Depends, FastAPI, Response
app = FastAPI()
def query_extractor(q: str | None = None):
return q
def query_or_cookie_extractor(
response: Response, q: str = Depends(query_extractor), last_query: str | None = Cookie(default=None)
):
if not q:
return last_query
else:
response.set_cookie(key="last_query", value=q)
return q
@app.get("/items/")
async def read_query(query_or_default: str = Depends(query_or_cookie_extractor)):
return {"q_or_cookie": query_or_default}