27 lines
531 B
Python
27 lines
531 B
Python
|
from fastapi import Depends
|
||
|
from typing_extensions import Annotated
|
||
|
|
||
|
|
||
|
async def dependency_a():
|
||
|
dep_a = generate_dep_a()
|
||
|
try:
|
||
|
yield dep_a
|
||
|
finally:
|
||
|
dep_a.close()
|
||
|
|
||
|
|
||
|
async def dependency_b(dep_a: Annotated[DepA, Depends(dependency_a)]):
|
||
|
dep_b = generate_dep_b()
|
||
|
try:
|
||
|
yield dep_b
|
||
|
finally:
|
||
|
dep_b.close(dep_a)
|
||
|
|
||
|
|
||
|
async def dependency_c(dep_b: Annotated[DepB, Depends(dependency_b)]):
|
||
|
dep_c = generate_dep_c()
|
||
|
try:
|
||
|
yield dep_c
|
||
|
finally:
|
||
|
dep_c.close(dep_b)
|