diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2021-01-04 23:15:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-05 00:15:52 +0100 |
commit | cbc2108525f3a01f4a944104457939b741c9898b (patch) | |
tree | 58f85bcd8998101762623737dc272bff81cad15a /cli/program_state.rs | |
parent | 444eca80a93c2631623578c1febdedb43575a911 (diff) |
feat(cli/standalone): support runtime flags for deno compile (#8738)
Diffstat (limited to 'cli/program_state.rs')
-rw-r--r-- | cli/program_state.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/cli/program_state.rs b/cli/program_state.rs index 3000b355d..5eda6b3fa 100644 --- a/cli/program_state.rs +++ b/cli/program_state.rs @@ -20,12 +20,13 @@ use deno_runtime::permissions::Permissions; use deno_core::error::anyhow; use deno_core::error::get_custom_error_class; use deno_core::error::AnyError; +use deno_core::error::Context; use deno_core::url::Url; use deno_core::ModuleSource; use deno_core::ModuleSpecifier; use std::collections::HashMap; use std::env; -use std::fs::read_to_string; +use std::fs::read; use std::sync::Arc; use std::sync::Mutex; @@ -51,6 +52,7 @@ pub struct ProgramState { pub lockfile: Option<Arc<Mutex<Lockfile>>>, pub maybe_import_map: Option<ImportMap>, pub maybe_inspector_server: Option<Arc<InspectorServer>>, + pub ca_data: Option<Vec<u8>>, } impl ProgramState { @@ -59,12 +61,10 @@ impl ProgramState { let dir = deno_dir::DenoDir::new(custom_root)?; let deps_cache_location = dir.root.join("deps"); let http_cache = http_cache::HttpCache::new(&deps_cache_location); - let ca_file_path = - flags.ca_file.clone().or_else(|| env::var("DENO_CERT").ok()); - - let ca_data: Option<String> = match ca_file_path.as_ref() { + let ca_file = flags.ca_file.clone().or_else(|| env::var("DENO_CERT").ok()); + let ca_data = match &ca_file { + Some(ca_file) => Some(read(ca_file).context("Failed to open ca file")?), None => None, - Some(ca_file_path) => Some(read_to_string(ca_file_path)?), }; let cache_usage = if flags.cached_only { @@ -81,7 +81,7 @@ impl ProgramState { http_cache, cache_usage, !flags.no_remote, - ca_data.as_deref(), + ca_data.clone(), )?; let lockfile = if let Some(filename) = &flags.lock { @@ -125,6 +125,7 @@ impl ProgramState { lockfile, maybe_import_map, maybe_inspector_server, + ca_data, }; Ok(Arc::new(program_state)) } |