lqs
d20566fe07
Some checks failed
Test / lint (push) Has been cancelled
Test / test (pydantic-v1, 3.10) (push) Has been cancelled
Test / test (pydantic-v1, 3.11) (push) Has been cancelled
Test / test (pydantic-v1, 3.12) (push) Has been cancelled
Test / test (pydantic-v1, 3.8) (push) Has been cancelled
Test / test (pydantic-v1, 3.9) (push) Has been cancelled
Test / test (pydantic-v2, 3.10) (push) Has been cancelled
Test / test (pydantic-v2, 3.11) (push) Has been cancelled
Test / test (pydantic-v2, 3.12) (push) Has been cancelled
Test / test (pydantic-v2, 3.8) (push) Has been cancelled
Test / test (pydantic-v2, 3.9) (push) Has been cancelled
Test / coverage-combine (push) Has been cancelled
Test / check (push) Has been cancelled
Issue Manager / issue-manager (push) Has been cancelled
Label Approved / label-approved (push) Has been cancelled
22 lines
633 B
Python
22 lines
633 B
Python
from typing import Annotated
|
|
|
|
from fastapi import Depends, FastAPI, Header, HTTPException
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
async def verify_token(x_token: Annotated[str, Header()]):
|
|
if x_token != "fake-super-secret-token":
|
|
raise HTTPException(status_code=400, detail="X-Token header invalid")
|
|
|
|
|
|
async def verify_key(x_key: Annotated[str, Header()]):
|
|
if x_key != "fake-super-secret-key":
|
|
raise HTTPException(status_code=400, detail="X-Key header invalid")
|
|
return x_key
|
|
|
|
|
|
@app.get("/items/", dependencies=[Depends(verify_token), Depends(verify_key)])
|
|
async def read_items():
|
|
return [{"item": "Foo"}, {"item": "Bar"}]
|