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")]
Empty,
#[error("decoding failed")]
DecodeFailed,
#[error("decoding failed: {0}")]
DecodeFailed(String),
#[error("hex decoding failed")]
HexDecodeFailed,

View File

@@ -130,13 +130,13 @@ impl<'a> RelayMessage<'a> {
} else if booly == "false" {
false
} else {
return Err(Error::DecodeFailed);
return Err(Error::DecodeFailed("bad boolean value".into()));
};
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 {
match error {
Error::Empty
| Error::DecodeFailed
| Error::HexDecodeFailed
| Error::InvalidBech32
| Error::InvalidByteSize
@@ -233,6 +232,8 @@ fn calculate_error_size(error: &Error) -> usize {
| Error::Io(_)
| 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::Nostrdb(nostrdb_err) => mem::size_of_val(error) + nostrdb_err.to_string().len(),