libedgegrid 0.1.1

This library implements an Authentication handler for the Akamai OPEN EdgeGrid Authentication scheme in Rust
#[derive(Debug, Default, Deserialize)]
pub struct EdgeGridError {
    title: Option<String>,
    #[serde(rename="type")]
    ccu_type: Option<String>,
    status: Option<usize>,
    detail: Option<String>,
    instance: Option<String>,
    #[serde(rename="authzRealm")]
    authz_realm: Option<String>,
    method: Option<String>,
    #[serde(rename="serverIp")]
    server_ip: Option<String>,
    #[serde(rename="clientIp")]
    client_ip: Option<String>,
    #[serde(rename="requestId")]
    request_id: Option<String>,
    #[serde(rename="requestTime")]
    request_time: Option<String>,
    #[serde(rename="supportId")]
    support_id: Option<String>,
    #[serde(rename="httpStatus")]
    http_status: Option<usize>,
    #[serde(rename="describedBy")]
    described_by: Option<String>,
}

impl fmt::Display for EdgeGridError {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        let mut out = String::new();
        ::push_opt(&mut out, "Title:        ", &self.title);
        ::push_opt(&mut out, "Type:         ", &self.ccu_type);
        ::push_opt(&mut out, "Status:       ", &self.status);
        ::push_opt(&mut out, "Detail:       ", &self.detail);
        ::push_opt(&mut out, "Instance:     ", &self.instance);
        ::push_opt(&mut out, "Authz Realm:  ", &self.authz_realm);
        ::push_opt(&mut out, "Method:       ", &self.method);
        ::push_opt(&mut out, "Server IP:    ", &self.server_ip);
        ::push_opt(&mut out, "Client IP:    ", &self.client_ip);
        ::push_opt(&mut out, "Request ID:   ", &self.request_id);
        ::push_opt(&mut out, "Request Time: ", &self.request_time);
        ::push_opt(&mut out, "Support ID:   ", &self.support_id);
        ::push_opt(&mut out, "HTTP Status:  ", &self.http_status);
        ::push_opt(&mut out, "Described By: ", &self.described_by);
        
        if out.is_empty() {
            out.push_str("Purge Status: Unknown result!");
        } else {
            out = String::from(out.trim_right_matches("\n"));
        }
        write!(f, "{}", out)
    }
}