microversus_api 0.1.3

API interface for microversus
Documentation
use std::fmt;

use reqwest::StatusCode;

#[derive(Debug)]
pub enum MicroversusApiError {
    Unknown,
    Request(reqwest::Error),
    ApiResponse { status: StatusCode, body: String },
}

impl Default for MicroversusApiError {
    fn default() -> Self {
        Self::Unknown
    }
}

impl std::error::Error for MicroversusApiError {}

impl fmt::Display for MicroversusApiError {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        match self {
            Self::Unknown => write!(f, "Unknown PFP City error"),
            Self::Request(e) => write!(f, "Error with PFP City request: {:?}", e),
            Self::ApiResponse { status, body } => {
                write!(f, "PFP City API Error {} - {:?}", status, body)
            }
        }
    }
}

impl From<reqwest::Error> for MicroversusApiError {
    fn from(err: reqwest::Error) -> Self {
        Self::Request(err)
    }
}