add SupportedMimeType

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2025-02-20 17:43:22 -05:00
parent 5791b0c5b1
commit bf68eb3ea8

View File

@@ -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
}