#[cfg(feature = "regex" )] pub mod regex;
#[cfg(feature = "regex" )] pub use regex::*;
#[cfg(feature = "commands")] pub mod command;
#[cfg(feature = "commands")] pub use command::*;
#[cfg(feature = "http" )] pub mod http_client_config;
#[cfg(feature = "http" )] pub use http_client_config::*;
#[cfg(feature = "http" )] pub mod proxy;
#[cfg(feature = "http" )] pub use proxy::*;
#[cfg(feature = "http" )] pub mod http;
#[cfg(feature = "http" )] pub use http::*;
#[cfg(feature = "http" )] pub mod json;
#[cfg(feature = "http" )] pub use json::*;
#[cfg(feature = "cache" )] pub mod caching;
#[cfg(feature = "cache" )] pub use caching::*;
#[cfg(feature = "base64" )] pub mod base64;
#[cfg(feature = "base64" )] pub use base64::*;
pub mod parse;
pub mod percent_encoding;
pub use percent_encoding::*;
pub mod url_position;
pub use url_position::*;
#[cfg(feature = "http")]
pub(crate) mod serde_headervalue {
use serde::{Deserialize, ser::{Serializer, Error as _}, de::{Deserializer, Error as _}};
use reqwest::header::HeaderValue;
pub(crate) fn deserialize<'de, D: Deserializer<'de>>(d: D) -> Result<HeaderValue, D::Error> {
let temp: String = Deserialize::deserialize(d)?;
temp.try_into().map_err(D::Error::custom)
}
pub(crate) fn serialize<S: Serializer>(x: &HeaderValue, s: S) -> Result<S::Ok, S::Error> {
s.serialize_str(x.to_str().map_err(S::Error::custom)?)
}
}
#[cfg(feature = "http")]
pub(crate) mod serde_headermap {
use std::collections::HashMap;
use serde::{Deserialize, ser::{Serializer, Error as _}, de::{Deserializer, Error as _}};
use reqwest::header::HeaderMap;
pub(crate) fn deserialize<'de, D: Deserializer<'de>>(d: D) -> Result<HeaderMap, D::Error> {
let temp: HashMap<String, String> = Deserialize::deserialize(d)?;
(&temp).try_into().map_err(D::Error::custom)
}
pub(crate) fn serialize<S: Serializer>(x: &HeaderMap, s: S) -> Result<S::Ok, S::Error> {
s.collect_map(x.into_iter().map(|(k, v)| v.to_str().map(|v| (k.as_str().to_string(), v.to_string()))).collect::<Result<HashMap<_, _>, _>>().map_err(S::Error::custom)?)
}
}