Skip to content

Commit ac28121

Browse files
Fix: handle invalid app_name in /run and /run_sse endpoints (return 404 instead of 500)
1 parent 62d7ee0 commit ac28121

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

src/google/adk/cli/adk_web_server.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1886,28 +1886,29 @@ def _set_telemetry_context_if_needed(runner: Runner):
18861886
_is_visual_builder.set(True)
18871887
else:
18881888
_is_visual_builder.set(False)
1889-
18901889
@app.post("/run", response_model_exclude_none=True)
18911890
async def run_agent(req: RunAgentRequest) -> list[Event]:
1892-
runner = await self.get_runner_async(req.app_name)
1891+
try:
1892+
runner = await self.get_runner_async(req.app_name)
1893+
except ValueError as e:
1894+
raise HTTPException(status_code=404, detail=str(e)) from e
1895+
18931896
_set_telemetry_context_if_needed(runner)
18941897
try:
18951898
async with Aclosing(
1896-
runner.run_async(
1897-
user_id=req.user_id,
1898-
session_id=req.session_id,
1899-
new_message=req.new_message,
1900-
state_delta=req.state_delta,
1901-
invocation_id=req.invocation_id,
1899+
runner.run_async(
1900+
user_id=req.user_id,
1901+
session_id=req.session_id,
1902+
new_message=req.new_message,
1903+
state_delta=req.state_delta,
1904+
invocation_id=req.invocation_id,
19021905
)
1903-
) as agen:
1904-
events = [event async for event in agen]
1906+
) as agen:
1907+
events = [event async for event in agen]
19051908
except SessionNotFoundError as e:
19061909
raise HTTPException(status_code=404, detail=str(e)) from e
1907-
logger.info("Generated %s events in agent run", len(events))
1908-
logger.debug("Events generated: %s", events)
1909-
return events
1910-
1910+
1911+
return events
19111912
@app.post("/run_sse")
19121913
async def run_agent_sse(req: RunAgentRequest) -> StreamingResponse:
19131914
stream_mode = StreamingMode.SSE if req.streaming else StreamingMode.NONE

0 commit comments

Comments
 (0)