From bdee7f3e41dda861fd47af3fb615fd0b200951d7 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Tue, 6 Aug 2024 00:25:57 +0800 Subject: [PATCH 1/4] fix(rpc): show data in when cast send result in custom error --- crates/json-rpc/src/response/error.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/json-rpc/src/response/error.rs b/crates/json-rpc/src/response/error.rs index edf94315d26..1693cd4ab12 100644 --- a/crates/json-rpc/src/response/error.rs +++ b/crates/json-rpc/src/response/error.rs @@ -81,9 +81,12 @@ fn spelunk_revert(value: &Value) -> Option { } } -impl fmt::Display for ErrorPayload { +impl fmt::Display for ErrorPayload { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "error code {}: {}", self.code, self.message) + write!(f, "error code {}: {}, data: {}", self.code, self.message, + as Clone>::clone(&self.data). + unwrap_or_else(|| ErrData::default()).to_string().trim_matches('"') + ) } } From 7bbfcbca9933a8844fa490123252c39fda7adc33 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Tue, 6 Aug 2024 21:35:50 +0800 Subject: [PATCH 2/4] fix: remove Clone and Default trait --- crates/json-rpc/src/response/error.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/crates/json-rpc/src/response/error.rs b/crates/json-rpc/src/response/error.rs index 1693cd4ab12..3e6c2e917d4 100644 --- a/crates/json-rpc/src/response/error.rs +++ b/crates/json-rpc/src/response/error.rs @@ -81,11 +81,17 @@ fn spelunk_revert(value: &Value) -> Option { } } -impl fmt::Display for ErrorPayload { +impl fmt::Display for ErrorPayload { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "error code {}: {}, data: {}", self.code, self.message, - as Clone>::clone(&self.data). - unwrap_or_else(|| ErrData::default()).to_string().trim_matches('"') + write!( + f, + "error code {}: {}, data: {}", + self.code, + self.message, + self.data + .as_ref() + .map(|data| data.to_string()) + .unwrap_or_default() ) } } From 00eabd75cae0332903f8fc243f9edfff2bf813c4 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Tue, 6 Aug 2024 22:33:05 +0800 Subject: [PATCH 3/4] fix: testcases failed --- crates/json-rpc/src/response/error.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/json-rpc/src/response/error.rs b/crates/json-rpc/src/response/error.rs index 3e6c2e917d4..86a9262b44b 100644 --- a/crates/json-rpc/src/response/error.rs +++ b/crates/json-rpc/src/response/error.rs @@ -85,12 +85,12 @@ impl fmt::Display for ErrorPayload { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, - "error code {}: {}, data: {}", + "error code {}: {}{}", self.code, self.message, self.data .as_ref() - .map(|data| data.to_string()) + .map(|data| format!(", data: {}",data.to_string())) .unwrap_or_default() ) } From 46b1ecfa17b1c964daea042f9a833acc9a56f19a Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Tue, 6 Aug 2024 23:14:58 +0800 Subject: [PATCH 4/4] fix: clippy and fmt --- crates/json-rpc/src/response/error.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/crates/json-rpc/src/response/error.rs b/crates/json-rpc/src/response/error.rs index 86a9262b44b..0d318837059 100644 --- a/crates/json-rpc/src/response/error.rs +++ b/crates/json-rpc/src/response/error.rs @@ -88,10 +88,7 @@ impl fmt::Display for ErrorPayload { "error code {}: {}{}", self.code, self.message, - self.data - .as_ref() - .map(|data| format!(", data: {}",data.to_string())) - .unwrap_or_default() + self.data.as_ref().map(|data| format!(", data: {}", data)).unwrap_or_default() ) } }