#[cfg(test)]
extern crate indoc;
extern crate lazy_regex;
#[cfg(test)]
extern crate maplit;
extern crate wiremock;
pub mod matchers;
mod part;
mod request_utils;
pub use part::Part;
pub use request_utils::{MultipartContentType, RequestUtils};
pub mod prelude {
pub use crate::matchers::*;
}
#[cfg(test)]
mod test_utils {
use maplit::hashmap;
use std::collections::HashMap;
use std::str::FromStr;
use wiremock::http::{HeaderName, HeaderValue, Method, Url};
use wiremock::Request;
pub fn name(name: &'static str) -> HeaderName {
HeaderName::from_str(name).unwrap()
}
pub fn values(val: &'static str) -> HeaderValue {
HeaderValue::from_str(val).unwrap()
}
pub fn request(headers: impl IntoIterator<Item = (HeaderName, HeaderValue)>) -> Request {
requestb(headers, vec![])
}
pub fn requestb(
headers: impl IntoIterator<Item = (HeaderName, HeaderValue)>,
body: Vec<u8>,
) -> Request {
Request {
url: Url::from_str("http://localhost").unwrap(),
method: Method::POST,
headers: headers.into_iter().collect(),
body,
}
}
pub fn multipart_header() -> HashMap<HeaderName, HeaderValue> {
hashmap! {
name("content-type") => values("multipart/form-data; boundary=xyz"),
}
}
}