summaryrefslogtreecommitdiff
path: root/cli/tools/registry/mod.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2024-07-13 17:08:23 -0400
committerGitHub <noreply@github.com>2024-07-13 21:08:23 +0000
commite0cfc9da39e1d05e6a95c89c41cff8ae34fcbd66 (patch)
tree97e291e29e8e0e49796f3929e9bf5f42d0e5f76c /cli/tools/registry/mod.rs
parentf6fd6619e708a515831f707438368d81b0c9aa56 (diff)
Revert "refactor(fetch): reimplement fetch with hyper instead of reqwest (#24237)" (#24574)
This reverts commit f6fd6619e708a515831f707438368d81b0c9aa56. I'm seeing a difference between canary and 1.45.2. In `deno-docs/reference_gen` I can't download dax when running `deno task types` ``` ~/src/deno-docs/reference_gen# deno upgrade --canary Looking up latest canary version Found latest version f6fd6619e708a515831f707438368d81b0c9aa56 Downloading https://dl.deno.land/canary/f6fd6619e708a515831f707438368d81b0c9aa56/deno-aarch64-apple-darwin.zip Deno is upgrading to version f6fd6619e708a515831f707438368d81b0c9aa56 Archive: /var/folders/9v/kys6gqns6kl8nksyn4l1f9v40000gn/T/.tmpb5lDnq/deno.zip inflating: deno Upgraded successfully ~/src/deno-docs/reference_gen# deno -v deno 1.45.2+f6fd661 ~/src/deno-docs/reference_gen# rm -rf /Users/ry/Library/Caches/deno ~/src/deno-docs/reference_gen# deno task types Task types deno task types:deno && deno task types:node Task types:deno deno run --allow-read --allow-write --allow-run --allow-env --allow-sys deno-docs.ts error: JSR package manifest for '@david/dax' failed to load. expected value at line 1 column 1 at file:///Users/ry/src/deno-docs/reference_gen/deno-docs.ts:2:15 ~/src/deno-docs/reference_gen# deno upgrade --version 1.45.2 Downloading https://github.com/denoland/deno/releases/download/v1.45.2/deno-aarch64-apple-darwin.zip Deno is upgrading to version 1.45.2 Archive: /var/folders/9v/kys6gqns6kl8nksyn4l1f9v40000gn/T/.tmp3R7uhF/deno.zip inflating: deno Upgraded successfully ~/src/deno-docs/reference_gen# rm -rf /Users/ry/Library/Caches/deno ~/src/deno-docs/reference_gen# deno task types Task types deno task types:deno && deno task types:node Task types:deno deno run --allow-read --allow-write --allow-run --allow-env --allow-sys deno-docs.ts Task types:node deno run --allow-read --allow-write=. --allow-env --allow-sys node-docs.ts ```
Diffstat (limited to 'cli/tools/registry/mod.rs')
-rw-r--r--cli/tools/registry/mod.rs69
1 files changed, 26 insertions, 43 deletions
diff --git a/cli/tools/registry/mod.rs b/cli/tools/registry/mod.rs
index a22384a52..8e4d97897 100644
--- a/cli/tools/registry/mod.rs
+++ b/cli/tools/registry/mod.rs
@@ -23,8 +23,8 @@ use deno_core::futures::StreamExt;
use deno_core::serde_json;
use deno_core::serde_json::json;
use deno_core::serde_json::Value;
+use deno_runtime::deno_fetch::reqwest;
use deno_terminal::colors;
-use http_body_util::BodyExt;
use lsp_types::Url;
use serde::Deserialize;
use serde::Serialize;
@@ -539,13 +539,11 @@ async fn get_auth_headers(
let challenge = BASE64_STANDARD.encode(sha2::Sha256::digest(&verifier));
let response = client
- .post_json(
- format!("{}authorizations", registry_url).parse()?,
- &serde_json::json!({
- "challenge": challenge,
- "permissions": permissions,
- }),
- )?
+ .post(format!("{}authorizations", registry_url))
+ .json(&serde_json::json!({
+ "challenge": challenge,
+ "permissions": permissions,
+ }))
.send()
.await
.context("Failed to create interactive authorization")?;
@@ -575,13 +573,11 @@ async fn get_auth_headers(
loop {
tokio::time::sleep(interval).await;
let response = client
- .post_json(
- format!("{}authorizations/exchange", registry_url).parse()?,
- &serde_json::json!({
- "exchangeToken": auth.exchange_token,
- "verifier": verifier,
- }),
- )?
+ .post(format!("{}authorizations/exchange", registry_url))
+ .json(&serde_json::json!({
+ "exchangeToken": auth.exchange_token,
+ "verifier": verifier,
+ }))
.send()
.await
.context("Failed to exchange authorization")?;
@@ -638,20 +634,15 @@ async fn get_auth_headers(
);
let response = client
- .get(url.parse()?)?
- .header(
- http::header::AUTHORIZATION,
- format!("Bearer {}", oidc_config.token).parse()?,
- )
+ .get(url)
+ .bearer_auth(&oidc_config.token)
.send()
.await
.context("Failed to get OIDC token")?;
let status = response.status();
- let text = crate::http_util::body_to_string(response)
- .await
- .with_context(|| {
- format!("Failed to get OIDC token: status {}", status)
- })?;
+ let text = response.text().await.with_context(|| {
+ format!("Failed to get OIDC token: status {}", status)
+ })?;
if !status.is_success() {
bail!(
"Failed to get OIDC token: status {}, response: '{}'",
@@ -779,7 +770,7 @@ async fn ensure_scopes_and_packages_exist(
loop {
tokio::time::sleep(std::time::Duration::from_secs(3)).await;
- let response = client.get(package_api_url.parse()?)?.send().await?;
+ let response = client.get(&package_api_url).send().await?;
if response.status() == 200 {
let name = format!("@{}/{}", package.scope, package.package);
log::info!("Package {} created", colors::green(name));
@@ -903,19 +894,11 @@ async fn publish_package(
package.config
);
- let body = http_body_util::Full::new(package.tarball.bytes.clone())
- .map_err(|never| match never {})
- .boxed();
let response = http_client
- .post(url.parse()?, body)?
- .header(
- http::header::AUTHORIZATION,
- authorization.parse().map_err(http::Error::from)?,
- )
- .header(
- http::header::CONTENT_ENCODING,
- "gzip".parse().map_err(http::Error::from)?,
- )
+ .post(url)
+ .header(reqwest::header::AUTHORIZATION, authorization)
+ .header(reqwest::header::CONTENT_ENCODING, "gzip")
+ .body(package.tarball.bytes.clone())
.send()
.await?;
@@ -960,7 +943,7 @@ async fn publish_package(
while task.status != "success" && task.status != "failure" {
tokio::time::sleep(interval).await;
let resp = http_client
- .get(format!("{}publish_status/{}", registry_api_url, task.id).parse()?)?
+ .get(format!("{}publish_status/{}", registry_api_url, task.id))
.send()
.await
.with_context(|| {
@@ -1009,8 +992,7 @@ async fn publish_package(
package.scope, package.package, package.version
))?;
- let resp = http_client.get(meta_url)?.send().await?;
- let meta_bytes = resp.collect().await?.to_bytes();
+ let meta_bytes = http_client.get(meta_url).send().await?.bytes().await?;
if std::env::var("DISABLE_JSR_MANIFEST_VERIFICATION_FOR_TESTING").is_err() {
verify_version_manifest(&meta_bytes, &package)?;
@@ -1041,8 +1023,9 @@ async fn publish_package(
registry_api_url, package.scope, package.package, package.version
);
http_client
- .post_json(provenance_url.parse()?, &json!({ "bundle": bundle }))?
- .header(http::header::AUTHORIZATION, authorization.parse()?)
+ .post(provenance_url)
+ .header(reqwest::header::AUTHORIZATION, authorization)
+ .json(&json!({ "bundle": bundle }))
.send()
.await?;
}