cyfs-base 0.6.12

Rust cyfs-base package
Documentation
use crate::*;

pub struct ObjectMapChecker;

impl ObjectMapChecker {
    pub fn check_key_value(key: &str) -> BuckyResult<()> {
        if key.len() == 0 {
            let msg = format!("empty objectmap key is invalid!");
            error!("{}", msg);
            return Err(BuckyError::new(BuckyErrorCode::InvalidFormat, msg));
        }

        if key.len() > OBJECT_MAP_KEY_MAX_LEN {
            let msg = format!(
                "objectmap key extend limit: key={}, len={}, maxlen={}",
                key,
                key.len(),
                OBJECT_MAP_KEY_MAX_LEN
            );
            error!("{}", msg);
            return Err(BuckyError::new(BuckyErrorCode::UnSupport, msg));
        }

        if key.find('/').is_some() {
            let msg = format!("objectmap key cannot contain '/': {}", key);
            error!("{}", msg);
            return Err(BuckyError::new(BuckyErrorCode::InvalidFormat, msg));
        }

        Ok(())
    }
}