Skip to content

Commit cba73aa

Browse files
fix: correct route ordering for deprecated session endpoints
Starlette matches routes in registration order. The deprecated /v1/sessions/session routes were registered after the parameterized /v1/sessions/{session_id} routes, causing them to never be reached. Moved literal path routes before parameterized paths so both old and new API endpoints work correctly.
1 parent b733e7c commit cba73aa

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

server.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,20 +1150,25 @@ async def deprecated_browser_content(request: Request):
11501150

11511151

11521152
# Add routes to the Starlette app
1153+
# IMPORTANT: Route order matters in Starlette - specific routes must come before parameterized ones
11531154

1154-
# New endpoints (primary)
1155+
# Health check
11551156
app.add_route("/health", api_health, methods=["GET"])
1157+
1158+
# Execute endpoints
11561159
app.add_route("/v1/execute", api_execute, methods=["POST"])
1160+
app.add_route("/execute", deprecated_execute, methods=["POST"]) # Deprecated
1161+
1162+
# Session endpoints - deprecated literal path MUST come before parameterized path
11571163
app.add_route("/v1/sessions", api_start_session, methods=["POST"])
1164+
app.add_route("/v1/sessions/session", deprecated_session_post, methods=["POST"]) # Deprecated
1165+
app.add_route("/v1/sessions/session", deprecated_session_get, methods=["GET"]) # Deprecated
1166+
app.add_route("/v1/sessions/session", deprecated_session_delete, methods=["DELETE"]) # Deprecated
11581167
app.add_route("/v1/sessions/{session_id}", api_get_session_by_id, methods=["GET"])
11591168
app.add_route("/v1/sessions/{session_id}", api_stop_session_by_id, methods=["DELETE"])
1169+
1170+
# Browser endpoints
11601171
app.add_route("/v1/browser/navigate", api_browser_navigate, methods=["POST"])
11611172
app.add_route("/v1/browser/content", api_browser_extract_content, methods=["POST"])
1162-
1163-
# Deprecated endpoints (backward compatibility - will be removed in v1.0)
1164-
app.add_route("/execute", deprecated_execute, methods=["POST"])
1165-
app.add_route("/v1/sessions/session", deprecated_session_post, methods=["POST"])
1166-
app.add_route("/v1/sessions/session", deprecated_session_get, methods=["GET"])
1167-
app.add_route("/v1/sessions/session", deprecated_session_delete, methods=["DELETE"])
1168-
app.add_route("/v1/browser/interactions/navigate", deprecated_browser_navigate, methods=["POST"])
1169-
app.add_route("/v1/browser/interactions/content", deprecated_browser_content, methods=["POST"])
1173+
app.add_route("/v1/browser/interactions/navigate", deprecated_browser_navigate, methods=["POST"]) # Deprecated
1174+
app.add_route("/v1/browser/interactions/content", deprecated_browser_content, methods=["POST"]) # Deprecated

0 commit comments

Comments
 (0)