From 69a4fffae24346f79e606a85f8153906f076b79f Mon Sep 17 00:00:00 2001 From: Joseph Lyons Date: Tue, 2 May 2023 23:22:55 -0400 Subject: [PATCH 1/2] Update `post_json` to take in a bool for allowing for redirects --- crates/client/src/telemetry.rs | 6 +++--- crates/util/src/http.rs | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/crates/client/src/telemetry.rs b/crates/client/src/telemetry.rs index 7151dcd7bb..5dfb6595d1 100644 --- a/crates/client/src/telemetry.rs +++ b/crates/client/src/telemetry.rs @@ -270,7 +270,7 @@ impl Telemetry { }])?; this.http_client - .post_json(MIXPANEL_ENGAGE_URL, json_bytes.into()) + .post_json(MIXPANEL_ENGAGE_URL, json_bytes.into(), false) .await?; anyhow::Ok(()) } @@ -404,7 +404,7 @@ impl Telemetry { json_bytes.clear(); serde_json::to_writer(&mut json_bytes, &events)?; this.http_client - .post_json(MIXPANEL_EVENTS_URL, json_bytes.into()) + .post_json(MIXPANEL_EVENTS_URL, json_bytes.into(), false) .await?; anyhow::Ok(()) } @@ -454,7 +454,7 @@ impl Telemetry { } this.http_client - .post_json(CLICKHOUSE_EVENTS_URL.as_str(), json_bytes.into()) + .post_json(CLICKHOUSE_EVENTS_URL.as_str(), json_bytes.into(), false) .await?; anyhow::Ok(()) } diff --git a/crates/util/src/http.rs b/crates/util/src/http.rs index e29768a53e..e7f39552b0 100644 --- a/crates/util/src/http.rs +++ b/crates/util/src/http.rs @@ -40,8 +40,14 @@ pub trait HttpClient: Send + Sync { &'a self, uri: &str, body: AsyncBody, + follow_redirects: bool, ) -> BoxFuture<'a, Result, Error>> { let request = isahc::Request::builder() + .redirect_policy(if follow_redirects { + RedirectPolicy::Follow + } else { + RedirectPolicy::None + }) .method(Method::POST) .uri(uri) .header("Content-Type", "application/json") From 41d4454f4581639e324db86e36924adcddf24d6b Mon Sep 17 00:00:00 2001 From: Joseph Lyons Date: Tue, 2 May 2023 23:23:43 -0400 Subject: [PATCH 2/2] Use post_json so that the Content-Type is set to application/json --- crates/auto_update/src/auto_update.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/auto_update/src/auto_update.rs b/crates/auto_update/src/auto_update.rs index 68d3776e1c..abf95ff45a 100644 --- a/crates/auto_update/src/auto_update.rs +++ b/crates/auto_update/src/auto_update.rs @@ -273,7 +273,7 @@ impl AutoUpdater { telemetry, })?); - let mut response = client.get(&release.url, request_body, true).await?; + let mut response = client.post_json(&release.url, request_body, true).await?; smol::io::copy(response.body_mut(), &mut dmg_file).await?; log::info!("downloaded update. path:{:?}", dmg_path);