From 96ae61421a59f8a45c73e4204582a9b0b3a06b38 Mon Sep 17 00:00:00 2001 From: centra Date: Fri, 19 Dec 2025 16:36:34 +0900 Subject: [PATCH] fix(chainfire): Chain KV route handlers in axum router MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- chainfire/crates/chainfire-server/src/rest.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/chainfire/crates/chainfire-server/src/rest.rs b/chainfire/crates/chainfire-server/src/rest.rs index d014d32..c805a75 100644 --- a/chainfire/crates/chainfire-server/src/rest.rs +++ b/chainfire/crates/chainfire-server/src/rest.rs @@ -134,9 +134,7 @@ pub struct PrefixQuery { /// Build the REST API router pub fn build_router(state: RestApiState) -> Router { Router::new() - .route("/api/v1/kv/{key}", get(get_kv)) - .route("/api/v1/kv/{key}", put(put_kv)) - .route("/api/v1/kv/{key}", delete(delete_kv)) + .route("/api/v1/kv/:key", get(get_kv).put(put_kv).delete(delete_kv)) .route("/api/v1/kv", get(list_kv)) .route("/api/v1/cluster/status", get(cluster_status)) .route("/api/v1/cluster/members", post(add_member))