themeparks 0.1.0

Rust Theme Parks Wiki V1 API client
Documentation
use serde::{Deserialize, Serialize};
use thiserror::Error;
use ureq::{Response, Transport};

#[derive(Error, Deserialize, Serialize, Debug, PartialEq, Eq)]
pub enum ThemeParksError {
    #[error("Deserialization Error {0}")]
    Deserialization(String),

    #[error("Transport Error - {0}({1})")]
    Transport(String, String),
}

impl ThemeParksError {
    pub fn parse_response(code: u16, response: Response) -> ThemeParksError {
        println!("{}", code);
        Self::Transport(
            response.status().to_string(),
            response.status_text().to_string(),
        )
    }

    pub fn parse_transport(transport: Transport) -> ThemeParksError {
        Self::Transport(transport.to_string(), transport.kind().to_string())
    }
}