Skip to content

Commit a0e2a82

Browse files
committed
rpc: Format error with {:#}
1 parent 6d146c3 commit a0e2a82

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

ra-rpc/src/lib.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//
55
// SPDX-License-Identifier: Apache-2.0
66

7-
use std::{net::SocketAddr, path::PathBuf};
7+
use std::{fmt::Display, net::SocketAddr, path::PathBuf};
88

99
use anyhow::Result;
1010
use prpc::{codec::encode_message_to_vec, server::Service as PrpcService};
@@ -74,18 +74,19 @@ async fn dispatch_prpc(
7474
Ok(data) => (200, data),
7575
Err(err) => {
7676
error!("rpc error: {err:?}");
77-
(400, encode_error(json, format!("{err:?}")))
77+
(400, encode_error(json, &err))
7878
}
7979
};
8080
(code, data)
8181
}
8282

83-
pub fn encode_error(json: bool, error: impl Into<String>) -> Vec<u8> {
83+
pub fn encode_error(json: bool, error: &impl Display) -> Vec<u8> {
84+
let error = format!("{error:#}");
8485
if json {
85-
serde_json::to_string_pretty(&serde_json::json!({ "error": error.into() }))
86+
serde_json::to_string_pretty(&serde_json::json!({ "error": error }))
8687
.unwrap_or_else(|_| r#"{"error": "failed to encode the error"}"#.to_string())
8788
.into_bytes()
8889
} else {
89-
encode_message_to_vec(&::prpc::server::ProtoError::new(error.into()))
90+
encode_message_to_vec(&::prpc::server::ProtoError::new(error))
9091
}
9192
}

ra-rpc/src/rocket_helper.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,9 @@ impl<S> PrpcHandler<'_, '_, S> {
247247
let result = handle_prpc_impl::<S, Call>(self).await;
248248
match result {
249249
Ok(output) => output,
250-
Err(e) => {
251-
let estr = format!("{e:?}");
252-
warn!("error handling prpc: {estr}");
253-
let body = encode_error(json, estr);
250+
Err(err) => {
251+
warn!("error handling prpc: {err:?}");
252+
let body = encode_error(json, &err);
254253
RpcResponse {
255254
is_json: json,
256255
status: Status::BadRequest,

0 commit comments

Comments
 (0)