mercury-rust 0.1.0

Library that interacts with Mercury Bank API.
Documentation
use http;
use serde_json;
use serde_qs;
use reqwest;
use std::io;
use thiserror::Error;

#[derive(Error, Debug)]
pub enum Error {
    #[error("{0}")]
    Http(#[from] reqwest::Error),
    #[error("{0}")]
    Json(#[from] serde_json::error::Error),
    #[error("{0}")]
    Uri(#[from] http::uri::InvalidUri),
    #[error("{0}")]
    Io(#[from] io::Error),
    #[error("{0}")]
    QsError(#[from] serde_qs::Error),
    #[error("{0}")]
    HeaderError(#[from] reqwest::header::InvalidHeaderValue),
    #[error("Response error {:?}", .errors)]
    MercuryError { errors: ErrorMessage },
    #[error("Other/Unknown")]
    Unknown,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ErrorResponse {
    pub errors: ErrorMessage
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ErrorMessage {
    pub message: String
}