summaryrefslogtreecommitdiff
path: root/cli/upgrade.rs
diff options
context:
space:
mode:
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 {