diff options
author | Jacob Gee-Clarke <jacob@jacobgc.me> | 2020-07-06 04:58:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-05 23:58:23 -0400 |
commit | 79610378d3001757b7664a0cefa8fc99125f5a18 (patch) | |
tree | 229630a006359ae01f5422c8fcd02e3790731c89 /cli/upgrade.rs | |
parent | c3c13351a9f26f2209b51b8ded5e8f2a1ad86e94 (diff) |
feat(cli): Added support for the --cert flag with 'deno upgrade' (#6609)
Diffstat (limited to 'cli/upgrade.rs')
-rw-r--r-- | cli/upgrade.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/cli/upgrade.rs b/cli/upgrade.rs index f840dc4c5..9f3e0459d 100644 --- a/cli/upgrade.rs +++ b/cli/upgrade.rs @@ -56,8 +56,19 @@ pub async fn upgrade_command( dry_run: bool, force: bool, version: Option<String>, + ca_file: Option<String>, ) -> Result<(), ErrBox> { - let client = Client::builder().redirect(Policy::none()).build()?; + let mut client_builder = Client::builder().redirect(Policy::none()); + + // If we have been provided a CA Certificate, add it into the HTTP client + if let Some(ca_file) = ca_file { + let buf = std::fs::read(ca_file); + let cert = reqwest::Certificate::from_pem(&buf.unwrap())?; + client_builder = client_builder.add_root_certificate(cert); + } + + let client = client_builder.build()?; + let current_version = semver_parse(crate::version::DENO).unwrap(); let install_version = match version { |