use auth::EdgeGridAuth;
use request;
use request::HttpRequestVerb::*;
use serde_json;
#[cfg(feature = "serde_macros")]
include!("req.rs.in");
#[cfg(not(feature = "serde_macros"))]
include!(concat!(env!("OUT_DIR"), "/ccu/req.rs"));
impl PurgeBody {
pub fn new(urls: Vec<String>) -> PurgeBody {
PurgeBody { objects: urls }
}
}
const BASE_URL: &'static str = "/ccu/v2/";
pub fn purge(
edge_grid_auth: &EdgeGridAuth,
queue_name: &str,
body: PurgeBody
) -> ::EdgeGridResponse {
let relurl = &format!("{}queues/{}", BASE_URL, queue_name)[..];
let json = &try!(serde_json::to_string(&body))[..];
Ok(try!(request::request(edge_grid_auth, relurl, Some(json), POST)))
}
pub fn purge_status(
edge_grid_auth: &EdgeGridAuth,
purge_id: &str
) -> ::EdgeGridResponse {
let relurl = &format!("{}purges/{}", BASE_URL, purge_id)[..];
Ok(try!(request::request(edge_grid_auth, relurl, None, GET)))
}
pub fn queue_length(
edge_grid_auth: &EdgeGridAuth,
queue_name: &str
) -> ::EdgeGridResponse {
let relurl = &format!("{}queues/{}", BASE_URL, queue_name)[..];
Ok(try!(request::request(edge_grid_auth, relurl, None, GET)))
}