Skip to main content

safe_relative

Function safe_relative 

Source
pub fn safe_relative(relative: &str) -> Option<String>
Expand description

A request path’s relative part, refused before the filesystem is touched when it holds anything but the characters a generated report uses, an empty segment, . or ...

use majordomus_cli::web::serve::safe_relative;
assert_eq!(safe_relative("index.html").as_deref(), Some("index.html"));
assert_eq!(safe_relative("coverage/index.html").as_deref(), Some("coverage/index.html"));
assert_eq!(safe_relative("../../etc/passwd"), None);
assert_eq!(safe_relative("a//b"), None);
assert_eq!(safe_relative("a/./b"), None);