conveyor 0.1.1

Conveyor is a Rust lib providing Docker API bindings.
Documentation
extern crate reqwest;

use std::collections::HashMap;

#[derive(Debug, Deserialize)]
#[allow(non_snake_case)]
pub struct Container {
    pub Id: String,
    pub Image: String,
    pub Status: String,
    pub Command: String,
    pub Created: u64,
    pub Names: Vec<String>,
    pub Ports: Vec<Port>,
    pub SizeRw: Option<u64>, // I guess it is optional on Mac.
    pub SizeRootFs: Option<u64>,
    pub Labels: Option<HashMap<String, String>>,
    pub HostConfig: HostConfig
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[allow(non_snake_case)]
pub struct Port {
    pub IP: Option<String>,
    pub PrivatePort: u64,
    pub PublicPort: Option<u64>,
    pub Type: String
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[allow(non_snake_case)]
pub struct HostConfig {
    pub NetworkMode: String
}
pub fn status() -> Vec<Container>{
    let container: Vec<Container> = get_status_json().unwrap();
    container
}
fn get_status_json() -> Result<Vec<Container>, reqwest::Error> {
    let mut response = get_status_response().unwrap();
    match response.json() {
        Ok(v) => Ok(v),
        Err(e) => panic!("Error parsing json: {:?}", e),
    }
}
fn get_status_response() -> Result<reqwest::Response, reqwest::Error> {
    let response = reqwest::get("http://localhost:2376/v1.38/containers/json");
    match response {
        Ok(v) => Ok(v),
        Err(e) => panic!("Error parsing response: {:?}", e),
    }
}