diff options
Diffstat (limited to 'src/rpc')
-rw-r--r-- | src/rpc/membership.rs | 2 | ||||
-rw-r--r-- | src/rpc/rpc_server.rs | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/rpc/membership.rs b/src/rpc/membership.rs index d19c1eb7..697cddd0 100644 --- a/src/rpc/membership.rs +++ b/src/rpc/membership.rs @@ -373,7 +373,7 @@ impl System { Message::AdvertiseNodesUp(adv) => self2.handle_advertise_nodes_up(&adv).await, Message::AdvertiseConfig(adv) => self2.handle_advertise_config(&adv).await, - _ => Err(Error::BadRequest(format!("Unexpected RPC message"))), + _ => Err(Error::BadRPC(format!("Unexpected RPC message"))), } } }); diff --git a/src/rpc/rpc_server.rs b/src/rpc/rpc_server.rs index 4386d733..4113f15b 100644 --- a/src/rpc/rpc_server.rs +++ b/src/rpc/rpc_server.rs @@ -61,7 +61,10 @@ where let err_str = format!("{}", e); let rep_bytes = rmp_to_vec_all_named::<Result<M, String>>(&Err(err_str))?; let mut err_response = Response::new(Body::from(rep_bytes)); - *err_response.status_mut() = e.http_status_code(); + *err_response.status_mut() = match e { + Error::BadRPC(_) => StatusCode::BAD_REQUEST, + _ => StatusCode::INTERNAL_SERVER_ERROR, + }; warn!( "RPC error ({}): {} ({} ms)", name, |