1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
#[cfg(test)] mod tests; #[cfg(test)] mod example; pub mod path; use std::collections::HashMap; use url_build_parse::{build_url, parse_url, UrlComponents}; use url_search_params::{build_url_search_params, encode_uri_component, parse_url_search_params}; use url_search_params::decode_uri_component; /// URL parsing, building, and percent-encoding utilities. pub struct URL; impl URL { pub fn percent_encode(component: &str) -> String { encode_uri_component(component) } pub fn percent_decode(component: &str) -> String { decode_uri_component(component) } pub fn build_query(params: HashMap<String, String>) -> String { build_url_search_params(params) } pub fn parse_query(component: &str) -> HashMap<String, String> { parse_url_search_params(component) } pub fn build(components: UrlComponents) -> Result<String, String> { build_url(components) } pub fn parse(url: &str) -> Result<UrlComponents, String> { parse_url(url) } }