pub fn is_file_like(value: &str) -> bool {
value.starts_with("file://")
|| value.starts_with('/')
|| value.starts_with('\\')
|| value.starts_with('.')
|| value.contains('/')
|| value.contains('\\')
|| value.contains('.')
}
pub fn is_url_like(value: &str) -> bool {
value.starts_with("https://") || value.starts_with("http://") || value.starts_with("www")
}
pub fn is_secure_url(value: &str) -> bool {
if value.contains("127.0.0.1") || value.contains("//localhost") {
return true;
}
value.starts_with("https://")
}
pub fn strip_bom(content: &str) -> &str {
content.trim_start_matches("\u{feff}")
}
pub fn extract_file_name(value: &str) -> &str {
let value = if let Some(index) = value.rfind('?') {
&value[0..index]
} else {
value
};
if let Some(index) = value.rfind('/') {
&value[index + 1..]
} else {
value
}
}
pub fn extract_file_ext(value: &str) -> Option<&str> {
let name = extract_file_name(value);
name.rfind('.').map(|index| &name[index + 1..])
}