Coverage for docs_src/dependencies/tutorial012_an.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-06 08:24 +0000

1from fastapi import Depends, FastAPI, Header, HTTPException 1abcdef

2from typing_extensions import Annotated 1abcdef

3 

4 

5async def verify_token(x_token: Annotated[str, Header()]): 1abcdef

6 if x_token != "fake-super-secret-token": 1EFstghGHuvijIJwxklKLyzmnMNABopOPCDqr

7 raise HTTPException(status_code=400, detail="X-Token header invalid") 1EFGHIJKLMNOP

8 

9 

10async def verify_key(x_key: Annotated[str, Header()]): 1abcdef

11 if x_key != "fake-super-secret-key": 1stghuvijwxklyzmnABopCDqr

12 raise HTTPException(status_code=400, detail="X-Key header invalid") 1stuvwxyzABCD

13 return x_key 1ghijklmnopqr

14 

15 

16app = FastAPI(dependencies=[Depends(verify_token), Depends(verify_key)]) 1abcdef

17 

18 

19@app.get("/items/") 1abcdef

20async def read_items(): 1abcdef

21 return [{"item": "Portal Gun"}, {"item": "Plumbus"}] 1gikmoq

22 

23 

24@app.get("/users/") 1abcdef

25async def read_users(): 1abcdef

26 return [{"username": "Rick"}, {"username": "Morty"}] 1hjlnpr