kraken_rest_api/api/
error.rs

1use std::{error::Error, fmt, io};
2
3use reqwest::StatusCode;
4
5#[derive(Debug)]
6pub struct KrakenError {
7    status_code: Option<StatusCode>,
8    errors: Vec<String>,
9}
10
11impl KrakenError {
12    pub fn new(status_code: Option<StatusCode>, errors: Vec<String>) -> KrakenError {
13        KrakenError {
14            status_code,
15            errors,
16        }
17    }
18}
19
20impl Error for KrakenError {}
21
22impl fmt::Display for KrakenError {
23    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
24        write!(
25            f,
26            "Status code: {}. {}",
27            self.status_code.unwrap_or(StatusCode::BAD_REQUEST),
28            self.errors.join(";")
29        )
30    }
31}
32
33//impl From<io::Error> for KrakenError {
34//    fn from(err: io::Error) -> KrakenError {
35//        KrakenError {
36//            status_code: None,
37//            error_type: ErrorType::FailResponse(err.to_string()),
38//        }
39//    }
40//}