[pbs-devel] [PATCH proxmox 12/17] acme: switch to http/hyper 1.0
Max Carrara
m.carrara at proxmox.com
Wed Apr 2 15:31:28 CEST 2025
On Wed Mar 26, 2025 at 4:23 PM CET, Fabian Grünbichler wrote:
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> proxmox-acme/Cargo.toml | 3 ++-
> proxmox-acme/src/async_client.rs | 11 +++++++----
> 2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/proxmox-acme/Cargo.toml b/proxmox-acme/Cargo.toml
> index f6dbe481..26b92f98 100644
> --- a/proxmox-acme/Cargo.toml
> +++ b/proxmox-acme/Cargo.toml
> @@ -26,6 +26,7 @@ proxmox-schema = { workspace = true, optional = true, features = [ "api-macro" ]
> proxmox-http = { workspace = true, optional = true, features = [ "client" ] }
> anyhow = { workspace = true, optional = true }
> bytes = { workspace = true, optional = true }
> +http-body-util = { workspace = true, optional = true }
> hyper = { workspace = true, optional = true }
>
> [dependencies.ureq]
> @@ -39,7 +40,7 @@ default = [ "impl" ]
> api-types = [ "dep:proxmox-schema" ]
> impl = [ "api-types", "dep:openssl" ]
> client = [ "impl", "dep:ureq", "dep:native-tls"]
> -async-client = [ "impl", "dep:hyper", "dep:proxmox-http", "dep:anyhow", "dep:bytes" ]
> +async-client = [ "impl", "dep:http-body-util", "dep:hyper", "dep:proxmox-http", "dep:anyhow", "dep:bytes" ]
>
> [dev-dependencies]
> anyhow.workspace = true
> diff --git a/proxmox-acme/src/async_client.rs b/proxmox-acme/src/async_client.rs
> index 6e38570f..a29b6f91 100644
> --- a/proxmox-acme/src/async_client.rs
> +++ b/proxmox-acme/src/async_client.rs
> @@ -2,10 +2,11 @@
>
> use anyhow::format_err;
> use bytes::Bytes;
> -use hyper::{Body, Request};
> +use http_body_util::BodyExt;
> +use hyper::Request;
> use serde::{Deserialize, Serialize};
>
> -use proxmox_http::client::Client;
> +use proxmox_http::{client::Client, Body};
>
> use crate::account::AccountCreator;
> use crate::order::{Order, OrderData};
> @@ -400,9 +401,11 @@ impl AcmeClient {
> let (parts, body) = response.into_parts();
>
> let status = parts.status.as_u16();
> - let body = hyper::body::to_bytes(body)
> + let body = body
> + .collect()
> .await
> - .map_err(|err| Error::Custom(format!("failed to retrieve response body: {}", err)))?;
> + .map_err(|err| Error::Custom(format!("failed to retrieve response body: {}", err)))?
Could inline `err` into the `format!` call here too.
> + .to_bytes();
>
> let got_nonce = if let Some(new_nonce) = parts.headers.get(crate::REPLAY_NONCE) {
> let new_nonce = new_nonce.to_str().map_err(|err| {
More information about the pbs-devel
mailing list