fix: use query params for workflow_id in Poimen endpoints #42

Merged
rock merged 1 commits from fix/poimen-path-param-routing into main 2026-09-26 12:52:21 +00:00
1 Commits
Author SHA1 Message Date
Admin Bot 731e19cf26 fix: use query params for workflow_id in Poimen endpoints
CI / CI (pull_request) Successful in 2m17s
Root cause: ServiceAdapter dispatcher sets X-Upstream-Path to template
strings like /v1/poimen/executions/{id}/stream with literal {id}.
extractWorkflowID() returned '{id}' instead of the actual workflow ID.

Fix:
- All handlers read workflow_id from ?workflow_id=xxx query param
- Remove path param extraction (extractWorkflowID)
- Update spec paths: remove {id} segments, use flat resource paths
  /v1/poimen/executions/detail?workflow_id=xxx
  /v1/poimen/executions/stream?workflow_id=xxx
  /v1/poimen/executions/history?workflow_id=xxx
  /v1/poimen/executions/signal?workflow_id=xxx
- Exact path matching in ServeHTTP (no prefix/suffix matching)

API contract:
  GET  /v1/poimen/executions                         — list all
  GET  /v1/poimen/executions/detail?workflow_id=xxx   — describe one
  GET  /v1/poimen/executions/history?workflow_id=xxx  — event history
  GET  /v1/poimen/executions/stream?workflow_id=xxx   — SSE events
  POST /v1/poimen/executions/signal?workflow_id=xxx   — signal
  DELETE /v1/poimen/executions/detail?workflow_id=xxx  — terminate
2026-09-26 20:46:27 +08:00