add diagnostic string to DecodeFailed

This commit is contained in:
Ken Sedgwick
2025-02-20 11:13:32 -08:00
parent d82d7fd00d
commit d39b2706e0
3 changed files with 6 additions and 5 deletions

View File

@@ -7,8 +7,8 @@ pub enum Error {
#[error("message is empty")] #[error("message is empty")]
Empty, Empty,
#[error("decoding failed")] #[error("decoding failed: {0}")]
DecodeFailed, DecodeFailed(String),
#[error("hex decoding failed")] #[error("hex decoding failed")]
HexDecodeFailed, HexDecodeFailed,

View File

@@ -130,13 +130,13 @@ impl<'a> RelayMessage<'a> {
} else if booly == "false" { } else if booly == "false" {
false false
} else { } else {
return Err(Error::DecodeFailed); return Err(Error::DecodeFailed("bad boolean value".into()));
}; };
return Ok(Self::ok(event_id, status, "fixme")); return Ok(Self::ok(event_id, status, "fixme"));
} }
Err(Error::DecodeFailed) Err(Error::DecodeFailed("unrecognized message type".into()))
} }
} }

View File

@@ -225,7 +225,6 @@ fn calculate_ws_message_size(message: &WsMessage) -> usize {
fn calculate_error_size(error: &Error) -> usize { fn calculate_error_size(error: &Error) -> usize {
match error { match error {
Error::Empty Error::Empty
| Error::DecodeFailed
| Error::HexDecodeFailed | Error::HexDecodeFailed
| Error::InvalidBech32 | Error::InvalidBech32
| Error::InvalidByteSize | Error::InvalidByteSize
@@ -233,6 +232,8 @@ fn calculate_error_size(error: &Error) -> usize {
| Error::Io(_) | Error::Io(_)
| Error::InvalidPublicKey => mem::size_of_val(error), // No heap usage | Error::InvalidPublicKey => mem::size_of_val(error), // No heap usage
Error::DecodeFailed(string) => mem::size_of_val(error) + string.len(),
Error::Json(json_err) => mem::size_of_val(error) + json_err.to_string().len(), Error::Json(json_err) => mem::size_of_val(error) + json_err.to_string().len(),
Error::Nostrdb(nostrdb_err) => mem::size_of_val(error) + nostrdb_err.to_string().len(), Error::Nostrdb(nostrdb_err) => mem::size_of_val(error) + nostrdb_err.to_string().len(),