From 20e9bd6fef5c9601e4be7f21304be4ffd3eb6bb3 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Tue, 15 Apr 2025 15:58:59 +0200 Subject: [PATCH 1/2] GitHub: Add rate limit debug logging --- crates/crates_io_github/src/lib.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/crates_io_github/src/lib.rs b/crates/crates_io_github/src/lib.rs index ec5555dc8cc..ae2ef9adaf8 100644 --- a/crates/crates_io_github/src/lib.rs +++ b/crates/crates_io_github/src/lib.rs @@ -61,17 +61,22 @@ impl RealGitHubClient { let url = format!("https://api.github.com{url}"); info!("GITHUB HTTP: {url}"); - self.client + let response = self + .client .get(&url) .header(header::ACCEPT, "application/vnd.github.v3+json") .header(header::AUTHORIZATION, auth) .header(header::USER_AGENT, "crates.io (https://crates.io)") .send() .await? - .error_for_status()? - .json() - .await - .map_err(Into::into) + .error_for_status()?; + + let headers = response.headers(); + let remaining = headers.get("x-ratelimit-remaining"); + let limit = headers.get("x-ratelimit-limit"); + debug!("GitHub rate limit remaining: {remaining:?}/{limit:?}"); + + response.json().await.map_err(Into::into) } /// Sends a GET to GitHub using OAuth access token authentication From 6c72a37376ef35c228f1dd5481c47425f8c06289 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Tue, 15 Apr 2025 16:00:02 +0200 Subject: [PATCH 2/2] GitHub: Improve logging message --- crates/crates_io_github/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/crates_io_github/src/lib.rs b/crates/crates_io_github/src/lib.rs index ae2ef9adaf8..72a4662b9f9 100644 --- a/crates/crates_io_github/src/lib.rs +++ b/crates/crates_io_github/src/lib.rs @@ -59,7 +59,7 @@ impl RealGitHubClient { T: DeserializeOwned, { let url = format!("https://api.github.com{url}"); - info!("GITHUB HTTP: {url}"); + info!("GitHub request: GET {url}"); let response = self .client