(name: &str)
| 39 | } |
| 40 | |
| 41 | pub fn validated_gateway_name(name: &str) -> Result<&str> { |
| 42 | let mut components = Path::new(name).components(); |
| 43 | match (components.next(), components.next()) { |
| 44 | (Some(Component::Normal(component)), None) if component == OsStr::new(name) => Ok(name), |
| 45 | _ => Err(miette::miette!( |
| 46 | "invalid gateway name '{name}': expected a single path component" |
| 47 | )), |
| 48 | } |
| 49 | } |
| 50 | |
| 51 | pub fn user_gateway_dir(name: &str) -> Result<PathBuf> { |
| 52 | Ok(user_gateways_dir()?.join(validated_gateway_name(name)?)) |
no test coverage detected