mod body;
mod response;
#[cfg(feature = "tracing")]
mod trace;
mod transport;
pub use body::Body;
pub(crate) use body::to_json;
pub use http::{Method, StatusCode};
pub use response::{Empty, Raw, Response};
pub use transport::{Certificate, Credentials, DEFAULT_ADDRESS, Transport, TransportBuilder};
pub use url::Url;
pub mod headers {
pub use http::header::*;
}
pub(crate) fn redacted(url: &Url) -> String {
let mut url = url.clone();
let _ = url.set_username("");
let _ = url.set_password(None);
url.set_query(None);
url.set_fragment(None);
url.to_string()
}
pub(crate) fn merge_headers(dst: &mut headers::HeaderMap, src: headers::HeaderMap) {
let mut current = None;
for (name, value) in src {
match name {
Some(name) => {
dst.insert(&name, value);
current = Some(name);
}
None => {
if let Some(name) = ¤t {
dst.append(name, value);
}
}
}
}
}