summaryrefslogtreecommitdiff
path: root/cli/upgrade.rs
diff options
context:
space:
mode:
authorJacob Gee-Clarke <jacob@jacobgc.me>2020-07-06 04:58:23 +0100
committerGitHub <noreply@github.com>2020-07-05 23:58:23 -0400
commit79610378d3001757b7664a0cefa8fc99125f5a18 (patch)
tree229630a006359ae01f5422c8fcd02e3790731c89 /cli/upgrade.rs
parentc3c13351a9f26f2209b51b8ded5e8f2a1ad86e94 (diff)
feat(cli): Added support for the --cert flag with 'deno upgrade' (#6609)
Diffstat (limited to 'cli/upgrade.rs')
-rw-r--r--cli/upgrade.rs13
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 {