hust 0.2.1

Hue bridge client library
Documentation
#[derive(Deserialize, Debug)]
pub struct ApiError {
    #[serde(rename = "type")]
    error_type: u16,
    address: String,
    description: String,
}

#[derive(Debug)]
pub enum Error {
    Io(std::io::Error),
    Reqwest(reqwest::Error),
    Xml(serde_xml_rs::Error),
    ApiErrors(Vec<ApiError>),
	Json(serde_json::Error),
    NoBridgeFound,
    Arbitrary(String),
}

impl From<std::io::Error> for Error {
    fn from(error: std::io::Error) -> Error {
        Error::Io(error)
    }
}

impl From<reqwest::Error> for Error {
    fn from(error: reqwest::Error) -> Error {
        Error::Reqwest(error)
    }
}

impl From<serde_xml_rs::Error> for Error {
    fn from(error: serde_xml_rs::Error) -> Error {
        Error::Xml(error)
    }
}

impl From<serde_json::Error> for Error {
    fn from(error: serde_json::Error) -> Error {
        Error::Json(error)
    }
}

impl From<Vec<ApiError>> for Error {
    fn from(errors: Vec<ApiError>) -> Error {
        Error::ApiErrors(errors)
    }
}

pub type Result<V> = std::result::Result<V, Error>;