exc_binance/http/response/
error_message.rs

1use serde::Deserialize;
2
3use crate::http::error::RestError;
4
5use super::Data;
6
7/// Error message.
8#[derive(Debug, Clone, Deserialize)]
9pub struct ErrorMessage {
10    /// Code.
11    pub code: i64,
12    /// Message.
13    #[serde(rename = "msg")]
14    pub message: String,
15}
16
17impl TryFrom<Data> for ErrorMessage {
18    type Error = RestError;
19
20    fn try_from(value: Data) -> Result<Self, Self::Error> {
21        match value {
22            Data::Error(e) => Err(RestError::Api(e.code, e.message)),
23            _ => Err(RestError::UnexpectedResponseType(anyhow::anyhow!(
24                "{value:?}"
25            ))),
26        }
27    }
28}