pub struct Utils;
Implementations§
source§impl Utils
impl Utils
sourcepub fn substring_after_scheme<'a>(parser: &Parser, input: &'a str) -> &'a str
pub fn substring_after_scheme<'a>(parser: &Parser, input: &'a str) -> &'a str
Get substring immediately after scheme.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input =
"https://user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone";
let expected =
"user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone".to_string();
let parser = Parser::new(None);
let result = Utils::substring_after_scheme(&parser, input);
assert_eq!(result, expected);
sourcepub fn substring_after_login<'a>(parser: &Parser, input: &'a str) -> &'a str
pub fn substring_after_login<'a>(parser: &Parser, input: &'a str) -> &'a str
Get substring immediately after login. Eliminates scheme to ensure no colon present in remainder.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input =
"https://user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone";
let expected = "www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone".to_string();
let parser = Parser::new(None);
let result = Utils::substring_after_login(&parser, input);
assert_eq!(result, expected);
sourcepub fn substring_after_port<'a>(parser: &Parser, input: &'a str) -> &'a str
pub fn substring_after_port<'a>(parser: &Parser, input: &'a str) -> &'a str
Get substring immediately after port. Eliminates scheme to ensure no colon present in remainder.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input =
"https://user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone";
let expected = "www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone".to_string();
let parser = Parser::new(None);
let result = Utils::substring_after_login(&parser, input);
assert_eq!(result, expected);
sourcepub fn substring_before_port<'a>(parser: &Parser, input: &'a str) -> &'a str
pub fn substring_before_port<'a>(parser: &Parser, input: &'a str) -> &'a str
Get substring immediately before port.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input = "https://www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone";
let expected = "https://www.example.co.uk".to_string();
let parser = Parser::new(None);
let result = Utils::substring_before_port(&parser, input);
assert_eq!(result, expected);
sourcepub fn substring_from_path_begin<'a>(parser: &Parser, input: &'a str) -> &'a str
pub fn substring_from_path_begin<'a>(parser: &Parser, input: &'a str) -> &'a str
Get substring before path. Eliminates scheme to ensure no colon present in remainder.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input =
"https://user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone";
let expected =
"user:pass@www.example.co.uk:443/blog/article/search?docid=720&hl=en#dayone".to_string();
let parser = Parser::new(None);
let result = Utils::substring_after_scheme(&parser, input);
assert_eq!(result, expected);
sourcepub fn canonicalize<'a>(
parser: &Parser,
input: &'a str,
subpath: &'a str
) -> String
pub fn canonicalize<'a>(
parser: &Parser,
input: &'a str,
subpath: &'a str
) -> String
Partially matches a subpath in a path. Useful for i.e. GitHub absolute paths from URL hrefs.
Example
use url_parse::utils::Utils;
use url_parse::core::Parser;
let input = "https://github.com/mihaigalos/aim/releases/tag/1.5.4";
let subpath = "mihaigalos/aim/releases/download/1.5.4/aim-1.5.4-x86_64-unknown-linux-gnu.tar.gz";
let expected = "https://github.com/mihaigalos/aim/releases/download/1.5.4/aim-1.5.4-x86_64-unknown-linux-gnu.tar.gz";
let result = Utils::canonicalize(&Parser::new(None), input, subpath);
assert_eq!(result, expected);