[−][src]Crate url_prefix
This crate can be used to create URL prefix strings by inputting a protocol, a domain, a port number and a path.
Why We Need This?
Sometimes our web applications are run on different protocols(HTTP/HTTPS) and domains. And it is boring to write some code like below to format a URL:
let mut url_prefix = String::new(); if is_https { url_prefix.push_str("https://"); } else { url_prefix.push_str("http://"); } url_prefix.push_str(domain); if is_https && port != 443 || !is_https && port != 80{ url_prefix.push_str(":"); url_prefix.push_str(&port.to_string()); }
Instead, we can easily use this crate to create URL prefix strings. For examples,
extern crate url_prefix; let prefix = url_prefix::create_prefix(url_prefix::Protocol::HTTPS, "magiclen.org", None, None::<String>); assert_eq!("https://magiclen.org", prefix);
extern crate url_prefix; let prefix = url_prefix::create_prefix(url_prefix::Protocol::HTTPS, "magiclen.org", Some(8100), Some("url-prefix")); assert_eq!("https://magiclen.org:8100/url-prefix", prefix);
Validators Support
Validators
is a crate which can help you validate user input, in order to create a safe URL prefix.
To use with Validators
support, you have to enable the validator feature for this crate.
[dependencies.url-prefix]
version = "*"
features = ["validator"]
And the create_prefix_with_validated_domain
, create_prefix_with_validated_ipv4
, create_prefix_with_validated_ipv6
, create_prefix_with_validated_host
functions are available.
For example,
extern crate url_prefix; let user_input = url_prefix::validators::domain::DomainLocalhostableWithPort::from_str("magiclen.org:443").unwrap(); let prefix = url_prefix::create_prefix_with_validated_domain(url_prefix::Protocol::HTTPS, user_input.as_domain(), Some("url-prefix")); assert_eq!("https://magiclen.org/url-prefix", prefix);
Re-exports
pub extern crate validators; |
Enums
Protocol | A set of protocols for URLs. |
Functions
create_prefix | Create a URL prefix string. |
create_prefix_with_validated_domain | Create a safe URL prefix string. |
create_prefix_with_validated_host | Create a safe URL prefix string. |
create_prefix_with_validated_http_ftp_url | Create a safe URL prefix string. |
create_prefix_with_validated_http_url | Create a safe URL prefix string. |
create_prefix_with_validated_ipv4 | Create a safe URL prefix string. |
create_prefix_with_validated_ipv6 | Create a safe URL prefix string. |