From d9cdc6788b1ed89d7f3b2daf9da7e4a9f664e424 Mon Sep 17 00:00:00 2001 From: "Kevin (Kun) \"Kassimo\" Qian" Date: Thu, 9 May 2019 09:20:34 -0700 Subject: fix: support relative path for whitelisting (#2317) Using `std::fs::canonicalize` to expand path to full existing path, such that later attempt to loop-pop and compare path segment would work. --- cli/deno_dir.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'cli/deno_dir.rs') diff --git a/cli/deno_dir.rs b/cli/deno_dir.rs index 4bca1117a..9d83ad044 100644 --- a/cli/deno_dir.rs +++ b/cli/deno_dir.rs @@ -896,6 +896,14 @@ pub fn resolve_file_url( Ok(j) } +pub fn resolve_path(path: &str) -> Result<(PathBuf, String), DenoError> { + let url = resolve_file_url(path.to_string(), ".".to_string()) + .map_err(DenoError::from)?; + let path = url.to_file_path().unwrap(); + let path_string = path.to_str().unwrap().to_string(); + Ok((path, path_string)) +} + #[cfg(test)] mod tests { use super::*; -- cgit v1.2.3