diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2024-07-13 17:08:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-13 21:08:23 +0000 |
commit | e0cfc9da39e1d05e6a95c89c41cff8ae34fcbd66 (patch) | |
tree | 97e291e29e8e0e49796f3929e9bf5f42d0e5f76c /cli/tools/registry/mod.rs | |
parent | f6fd6619e708a515831f707438368d81b0c9aa56 (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.rs | 69 |
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?; } |