`ResourceDef::insert_prefix()`

This commit is contained in:
Ali MJ Al-Nasrawy 2021-06-27 16:04:34 +03:00
parent d7859d930f
commit 381e05e797
1 changed files with 13 additions and 0 deletions

View File

@ -132,6 +132,19 @@ impl ResourceDef {
&self.pattern
}
pub fn insert_prefix(&mut self, prefix: &str) {
let is_prefix = match &self.tp {
PatternType::Static(_) => false,
PatternType::Prefix(_) => true,
PatternType::Dynamic(re, ..) => re.as_str().ends_with('$'),
PatternType::DynamicSet(..) => panic!(),
};
let new_pattern = format!("{}{}", insert_slash(prefix), self.pattern());
// TODO Docs; Tests; dynamicset suppot!!!!!
*self = ResourceDef::from_single_pattern(&new_pattern, is_prefix);
}
/// Check if path matches this pattern.
#[inline]
pub fn is_match(&self, path: &str) -> bool {