2019-05-16 18:07:00 +04:00
|
|
|
from fastapi import Depends, FastAPI, Header, HTTPException
|
2018-12-23 21:21:37 +04:00
|
|
|
|
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
|
|
|
|
|
2022-05-13 18:38:22 -05:00
|
|
|
async def verify_token(x_token: str = Header()):
|
2019-05-16 18:07:00 +04:00
|
|
|
if x_token != "fake-super-secret-token":
|
|
|
|
|
raise HTTPException(status_code=400, detail="X-Token header invalid")
|
2018-12-23 21:21:37 +04:00
|
|
|
|
|
|
|
|
|
2022-05-13 18:38:22 -05:00
|
|
|
async def verify_key(x_key: str = Header()):
|
2019-05-16 18:07:00 +04:00
|
|
|
if x_key != "fake-super-secret-key":
|
|
|
|
|
raise HTTPException(status_code=400, detail="X-Key header invalid")
|
|
|
|
|
return x_key
|
2018-12-23 21:21:37 +04:00
|
|
|
|
|
|
|
|
|
2019-05-16 18:07:00 +04:00
|
|
|
@app.get("/items/", dependencies=[Depends(verify_token), Depends(verify_key)])
|
|
|
|
|
async def read_items():
|
|
|
|
|
return [{"item": "Foo"}, {"item": "Bar"}]
|