in glean-core/src/metrics/url.rs [46:61]
fn is_valid_url_scheme(&self, value: String) -> bool {
let mut splits = value.split(':');
if let Some(scheme) = splits.next() {
if scheme.is_empty() {
return false;
}
let mut chars = scheme.chars();
// The list of characters allowed in the scheme is on
// the spec here: https://url.spec.whatwg.org/#url-scheme-string
return chars.next().unwrap().is_ascii_alphabetic()
&& chars.all(|c| c.is_ascii_alphanumeric() || ['+', '-', '.'].contains(&c));
}
// No ':' found, this is not valid :)
false
}