summaryrefslogtreecommitdiff
path: root/cli/file_fetcher.rs
diff options
context:
space:
mode:
authorcrowlKats <13135287+crowlKats@users.noreply.github.com>2021-04-12 04:15:43 +0200
committerGitHub <noreply@github.com>2021-04-12 11:15:43 +0900
commitfefe93c91b63e35bf88f5f432f0cca09948d0623 (patch)
treebf8f3e031cf558161277e01e4ca2e2c7817ef6ab /cli/file_fetcher.rs
parent8b49d948f58e0665e87e63f7e154ab53fa60a939 (diff)
feat(runtime/permissions): prompt fallback (#9376)
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli/file_fetcher.rs')
-rw-r--r--cli/file_fetcher.rs58
1 files changed, 29 insertions, 29 deletions
diff --git a/cli/file_fetcher.rs b/cli/file_fetcher.rs
index 187ac05dc..b5cc1c838 100644
--- a/cli/file_fetcher.rs
+++ b/cli/file_fetcher.rs
@@ -516,7 +516,7 @@ impl FileFetcher {
fn fetch_remote(
&self,
specifier: &ModuleSpecifier,
- permissions: &Permissions,
+ permissions: &mut Permissions,
redirect_limit: i64,
) -> Pin<Box<dyn Future<Output = Result<File, AnyError>> + Send>> {
debug!("FileFetcher::fetch_remote() - specifier: {}", specifier);
@@ -560,7 +560,7 @@ impl FileFetcher {
};
let maybe_auth_token = self.auth_tokens.get(&specifier);
let specifier = specifier.clone();
- let permissions = permissions.clone();
+ let mut permissions = permissions.clone();
let client = self.http_client.clone();
let file_fetcher = self.clone();
// A single pass of fetch either yields code or yields a redirect.
@@ -580,7 +580,7 @@ impl FileFetcher {
FetchOnceResult::Redirect(redirect_url, headers) => {
file_fetcher.http_cache.set(&specifier, headers, &[])?;
file_fetcher
- .fetch_remote(&redirect_url, &permissions, redirect_limit - 1)
+ .fetch_remote(&redirect_url, &mut permissions, redirect_limit - 1)
.await
}
FetchOnceResult::Code(bytes, headers) => {
@@ -600,7 +600,7 @@ impl FileFetcher {
pub async fn fetch(
&self,
specifier: &ModuleSpecifier,
- permissions: &Permissions,
+ permissions: &mut Permissions,
) -> Result<File, AnyError> {
debug!("FileFetcher::fetch() - specifier: {}", specifier);
let scheme = get_validated_scheme(specifier)?;
@@ -718,7 +718,7 @@ mod tests {
async fn test_fetch(specifier: &ModuleSpecifier) -> (File, FileFetcher) {
let (file_fetcher, _) = setup(CacheSetting::ReloadAll, None);
let result = file_fetcher
- .fetch(specifier, &Permissions::allow_all())
+ .fetch(specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
(result.unwrap(), file_fetcher)
@@ -730,7 +730,7 @@ mod tests {
let _http_server_guard = test_util::http_server();
let (file_fetcher, _) = setup(CacheSetting::ReloadAll, None);
let result: Result<File, AnyError> = file_fetcher
- .fetch_remote(specifier, &Permissions::allow_all(), 1)
+ .fetch_remote(specifier, &mut Permissions::allow_all(), 1)
.await;
assert!(result.is_ok());
let (_, headers) = file_fetcher.http_cache.get(specifier).unwrap();
@@ -1011,7 +1011,7 @@ mod tests {
file_fetcher.insert_cached(file.clone());
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let result_file = result.unwrap();
@@ -1028,7 +1028,7 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1059,7 +1059,7 @@ mod tests {
let specifier = resolve_url("data:application/typescript;base64,ZXhwb3J0IGNvbnN0IGEgPSAiYSI7CgpleHBvcnQgZW51bSBBIHsKICBBLAogIEIsCiAgQywKfQo=").unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1089,7 +1089,7 @@ mod tests {
);
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1113,7 +1113,7 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1136,7 +1136,7 @@ mod tests {
metadata.write(&cache_filename).unwrap();
let result = file_fetcher_01
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1157,7 +1157,7 @@ mod tests {
metadata.write(&cache_filename).unwrap();
let result = file_fetcher_02
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1179,7 +1179,7 @@ mod tests {
)
.expect("setup failed");
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1214,7 +1214,7 @@ mod tests {
.unwrap();
let result = file_fetcher_01
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1234,7 +1234,7 @@ mod tests {
)
.expect("could not create file fetcher");
let result = file_fetcher_02
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1273,7 +1273,7 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1334,7 +1334,7 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1406,7 +1406,7 @@ mod tests {
.unwrap();
let result = file_fetcher_01
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1426,7 +1426,7 @@ mod tests {
)
.expect("could not create file fetcher");
let result = file_fetcher_02
- .fetch(&redirected_specifier, &Permissions::allow_all())
+ .fetch(&redirected_specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1453,12 +1453,12 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch_remote(&specifier, &Permissions::allow_all(), 2)
+ .fetch_remote(&specifier, &mut Permissions::allow_all(), 2)
.await;
assert!(result.is_ok());
let result = file_fetcher
- .fetch_remote(&specifier, &Permissions::allow_all(), 1)
+ .fetch_remote(&specifier, &mut Permissions::allow_all(), 1)
.await;
assert!(result.is_err());
@@ -1491,7 +1491,7 @@ mod tests {
.unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1539,7 +1539,7 @@ mod tests {
resolve_url("http://localhost:4545/cli/tests/002_hello.ts").unwrap();
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_err());
let err = result.unwrap_err();
@@ -1574,7 +1574,7 @@ mod tests {
resolve_url("http://localhost:4545/cli/tests/002_hello.ts").unwrap();
let result = file_fetcher_01
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_err());
let err = result.unwrap_err();
@@ -1582,12 +1582,12 @@ mod tests {
assert_eq!(err.to_string(), "Specifier not found in cache: \"http://localhost:4545/cli/tests/002_hello.ts\", --cached-only is specified.");
let result = file_fetcher_02
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let result = file_fetcher_01
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
@@ -1605,7 +1605,7 @@ mod tests {
fs::write(fixture_path.clone(), r#"console.log("hello deno");"#)
.expect("could not write file");
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();
@@ -1614,7 +1614,7 @@ mod tests {
fs::write(fixture_path, r#"console.log("goodbye deno");"#)
.expect("could not write file");
let result = file_fetcher
- .fetch(&specifier, &Permissions::allow_all())
+ .fetch(&specifier, &mut Permissions::allow_all())
.await;
assert!(result.is_ok());
let file = result.unwrap();