@@ -212,3 +212,30 @@ impl UrlMimes {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct SupportedMimeType {
|
||||
mime: mime_guess::Mime,
|
||||
}
|
||||
|
||||
impl SupportedMimeType {
|
||||
#[allow(unused)]
|
||||
pub fn from_extension(extension: &str) -> Result<Self, Error> {
|
||||
if let Some(mime) = mime_guess::from_ext(extension)
|
||||
.first()
|
||||
.filter(is_mime_supported)
|
||||
{
|
||||
Ok(Self { mime })
|
||||
} else {
|
||||
Err(Error::Generic("Unsupported mime type".to_owned()))
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unused)]
|
||||
pub fn to_mime(&self) -> &str {
|
||||
self.mime.essence_str()
|
||||
}
|
||||
}
|
||||
|
||||
fn is_mime_supported(mime: &mime_guess::Mime) -> bool {
|
||||
mime.type_() == mime_guess::mime::IMAGE
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user