mrmime 0.0.3

Small, explicit MIME type registry with fast lookup by type or extension.
use crate::MimeType;

#[cfg(feature = "redis")]
impl redis::ToRedisArgs for MimeType {
    fn write_redis_args<W: ?Sized + redis::RedisWrite>(&self, out: &mut W) {
        out.write_arg(self.mime.as_bytes());
    }
}

#[cfg(feature = "redis")]
impl redis::FromRedisValue for MimeType {
    fn from_redis_value(v: &redis::Value) -> redis::RedisResult<Self> {
        let s: String = redis::from_redis_value(v)?;
        s.parse::<MimeType>().map_err(|e| {
            redis::RedisError::from((
                redis::ErrorKind::TypeError,
                "invalid MimeType string",
                format!("{}", e),
            ))
        })
    }
}