Skip to main content

rust_web_server/url/
mod.rs

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