fix(chainfire): Chain KV route handlers in axum router

Axum 0.7 route registration requires chaining handlers for the same
path. Multiple .route() calls for "/api/v1/kv/{key}" overwrote each
other, leaving only DELETE accessible. Changed to chain all methods:
.route("/path", get(h).put(h).delete(h))

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
centra 2025-12-19 16:36:34 +09:00
parent aa5973bb96
commit 96ae61421a

View file

@ -134,9 +134,7 @@ pub struct PrefixQuery {
/// Build the REST API router /// Build the REST API router
pub fn build_router(state: RestApiState) -> Router { pub fn build_router(state: RestApiState) -> Router {
Router::new() Router::new()
.route("/api/v1/kv/{key}", get(get_kv)) .route("/api/v1/kv/:key", get(get_kv).put(put_kv).delete(delete_kv))
.route("/api/v1/kv/{key}", put(put_kv))
.route("/api/v1/kv/{key}", delete(delete_kv))
.route("/api/v1/kv", get(list_kv)) .route("/api/v1/kv", get(list_kv))
.route("/api/v1/cluster/status", get(cluster_status)) .route("/api/v1/cluster/status", get(cluster_status))
.route("/api/v1/cluster/members", post(add_member)) .route("/api/v1/cluster/members", post(add_member))