auto detect skyvern context and set context if it's not set (#269)

This commit is contained in:
Shuchang Zheng
2024-05-07 11:23:17 -04:00
committed by GitHub
parent 6473635de4
commit 0862232db4

View File

@@ -80,8 +80,12 @@ def get_agent_app(router: APIRouter = base_router) -> FastAPI:
@app.middleware("http")
async def request_middleware(request: Request, call_next: Callable[[Request], Awaitable[Response]]) -> Response:
request_id = str(uuid.uuid4())
skyvern_context.set(SkyvernContext(request_id=request_id))
curr_ctx = skyvern_context.current()
if not curr_ctx:
request_id = str(uuid.uuid4())
skyvern_context.set(SkyvernContext(request_id=request_id))
elif not curr_ctx.request_id:
curr_ctx.request_id = str(uuid.uuid4())
try:
return await call_next(request)