* [pbs-devel] [PATCH v2 proxmox-backup] cargo: drop direct `http` crate dependency, tree-wide namespace fix
@ 2025-01-21 12:54 Christian Ebner
2025-01-24 8:51 ` [pbs-devel] applied: " Thomas Lamprecht
0 siblings, 1 reply; 2+ messages in thread
From: Christian Ebner @ 2025-01-21 12:54 UTC (permalink / raw)
To: pbs-devel
Instead of using and depending on the `http` create directly, use and
depend on the re-exported `hyper::http`. Adapt namespace prefixes
accordingly.
This makes sure the `hyper::http` types are version compatible and
allows to possibly depend on incompatible versions of `http` in the
workspace in the future.
No functional changes intended.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
changes since version 1:
- `cargo fmt` run
Cargo.toml | 2 --
examples/h2client.rs | 2 +-
examples/h2s-client.rs | 2 +-
examples/h2s-server.rs | 7 +++++--
examples/h2server.rs | 7 +++++--
pbs-client/Cargo.toml | 1 -
pbs-client/src/http_client.rs | 8 ++++----
pbs-client/src/vsock_client.rs | 4 ++--
proxmox-restore-daemon/Cargo.toml | 1 -
proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs | 4 ++--
src/acme/plugin.rs | 4 ++--
src/api2/backup/mod.rs | 2 +-
src/api2/node/tasks.rs | 4 ++--
src/api2/reader/mod.rs | 2 +-
src/bin/proxmox-backup-api.rs | 2 +-
src/bin/proxmox-backup-proxy.rs | 8 ++++----
src/server/auth.rs | 2 +-
src/server/sync.rs | 2 +-
18 files changed, 33 insertions(+), 31 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index adeeb6efa..ab066fff0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -128,7 +128,6 @@ futures = "0.3"
h2 = { version = "0.4", features = [ "stream" ] }
handlebars = "3.0"
hex = "0.4.3"
-http = "0.2"
hyper = { version = "0.14", features = [ "full" ] }
libc = "0.2"
log = "0.4.17"
@@ -175,7 +174,6 @@ endian_trait.workspace = true
futures.workspace = true
h2.workspace = true
hex.workspace = true
-http.workspace = true
hyper.workspace = true
libc.workspace = true
log.workspace = true
diff --git a/examples/h2client.rs b/examples/h2client.rs
index 2588631e4..1dcb44987 100644
--- a/examples/h2client.rs
+++ b/examples/h2client.rs
@@ -54,7 +54,7 @@ fn send_request(
) -> impl Future<Output = Result<usize, Error>> {
println!("sending request");
- let request = http::Request::builder()
+ let request = hyper::http::Request::builder()
.uri("http://localhost/")
.body(())
.unwrap();
diff --git a/examples/h2s-client.rs b/examples/h2s-client.rs
index 356dbc592..a12b5a484 100644
--- a/examples/h2s-client.rs
+++ b/examples/h2s-client.rs
@@ -54,7 +54,7 @@ fn send_request(
) -> impl Future<Output = Result<usize, Error>> {
println!("sending request");
- let request = http::Request::builder()
+ let request = hyper::http::Request::builder()
.uri("http://localhost/")
.body(())
.unwrap();
diff --git a/examples/h2s-server.rs b/examples/h2s-server.rs
index f1f085137..5a7728022 100644
--- a/examples/h2s-server.rs
+++ b/examples/h2s-server.rs
@@ -63,8 +63,11 @@ async fn handle_connection(socket: TcpStream, acceptor: Arc<SslAcceptor>) -> Res
let body = Body::from(buffer);
let response = Response::builder()
- .status(http::StatusCode::OK)
- .header(http::header::CONTENT_TYPE, "application/octet-stream")
+ .status(hyper::http::StatusCode::OK)
+ .header(
+ hyper::http::header::CONTENT_TYPE,
+ "application/octet-stream",
+ )
.body(body)
.unwrap();
future::ok::<_, Error>(response)
diff --git a/examples/h2server.rs b/examples/h2server.rs
index 5802fc888..678640e85 100644
--- a/examples/h2server.rs
+++ b/examples/h2server.rs
@@ -39,8 +39,11 @@ async fn handle_connection(socket: TcpStream) -> Result<(), Error> {
let body = Body::from(buffer);
let response = Response::builder()
- .status(http::StatusCode::OK)
- .header(http::header::CONTENT_TYPE, "application/octet-stream")
+ .status(hyper::http::StatusCode::OK)
+ .header(
+ hyper::http::header::CONTENT_TYPE,
+ "application/octet-stream",
+ )
.body(body)
.unwrap();
future::ok::<_, Error>(response)
diff --git a/pbs-client/Cargo.toml b/pbs-client/Cargo.toml
index 212f62f2a..c28fe87ca 100644
--- a/pbs-client/Cargo.toml
+++ b/pbs-client/Cargo.toml
@@ -12,7 +12,6 @@ bytes.workspace = true
futures.workspace = true
h2.workspace = true
hex.workspace = true
-http.workspace = true
hyper.workspace = true
libc.workspace = true
nix.workspace = true
diff --git a/pbs-client/src/http_client.rs b/pbs-client/src/http_client.rs
index e97b4e549..6b7cfae37 100644
--- a/pbs-client/src/http_client.rs
+++ b/pbs-client/src/http_client.rs
@@ -4,10 +4,10 @@ use std::time::Duration;
use anyhow::{bail, format_err, Error};
use futures::*;
-use http::header::HeaderValue;
-use http::Uri;
-use http::{Request, Response};
use hyper::client::{Client, HttpConnector};
+use hyper::http::header::HeaderValue;
+use hyper::http::Uri;
+use hyper::http::{Request, Response};
use hyper::Body;
use openssl::{
ssl::{SslConnector, SslMethod},
@@ -782,7 +782,7 @@ impl HttpClient {
.map_err(|_| format_err!("http upgrade request timed out"))??;
let status = resp.status();
- if status != http::StatusCode::SWITCHING_PROTOCOLS {
+ if status != hyper::http::StatusCode::SWITCHING_PROTOCOLS {
Self::api_response(resp).await?;
bail!("unknown error");
}
diff --git a/pbs-client/src/vsock_client.rs b/pbs-client/src/vsock_client.rs
index 6d62cd93f..38823b547 100644
--- a/pbs-client/src/vsock_client.rs
+++ b/pbs-client/src/vsock_client.rs
@@ -3,10 +3,10 @@ use std::task::{Context, Poll};
use anyhow::{bail, format_err, Error};
use futures::*;
-use http::Uri;
-use http::{Request, Response};
use hyper::client::connect::{Connected, Connection};
use hyper::client::Client;
+use hyper::http::Uri;
+use hyper::http::{Request, Response};
use hyper::Body;
use pin_project_lite::pin_project;
use serde_json::Value;
diff --git a/proxmox-restore-daemon/Cargo.toml b/proxmox-restore-daemon/Cargo.toml
index 9d31978b1..bcb50d8ba 100644
--- a/proxmox-restore-daemon/Cargo.toml
+++ b/proxmox-restore-daemon/Cargo.toml
@@ -11,7 +11,6 @@ anyhow.workspace = true
base64.workspace = true
env_logger.workspace = true
futures.workspace = true
-http.workspace = true
hyper.workspace = true
libc.workspace = true
log.workspace = true
diff --git a/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs b/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
index e0eeca170..8cfc4f13c 100644
--- a/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
+++ b/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
@@ -6,7 +6,7 @@ use std::pin::Pin;
use std::sync::Arc;
use anyhow::{bail, format_err, Error};
-use http::HeaderMap;
+use hyper::http::HeaderMap;
use hyper::{Body, Method, Response, StatusCode};
use proxmox_router::UserInformation;
@@ -64,7 +64,7 @@ pub fn check_auth<'a>(
})
}
-pub fn get_index() -> Pin<Box<dyn Future<Output = http::Response<Body>> + Send>> {
+pub fn get_index() -> Pin<Box<dyn Future<Output = hyper::http::Response<Body>> + Send>> {
Box::pin(async move {
let index = "<center><h1>Proxmox Backup Restore Daemon/h1></center>";
diff --git a/src/acme/plugin.rs b/src/acme/plugin.rs
index 200cf9cc3..c33cfe405 100644
--- a/src/acme/plugin.rs
+++ b/src/acme/plugin.rs
@@ -241,12 +241,12 @@ async fn standalone_respond(
) -> Result<Response<Body>, hyper::Error> {
if req.method() == hyper::Method::GET && req.uri().path() == path.as_str() {
Ok(Response::builder()
- .status(http::StatusCode::OK)
+ .status(hyper::http::StatusCode::OK)
.body(key_auth.as_bytes().to_vec().into())
.unwrap())
} else {
Ok(Response::builder()
- .status(http::StatusCode::NOT_FOUND)
+ .status(hyper::http::StatusCode::NOT_FOUND)
.body("Not found.".into())
.unwrap())
}
diff --git a/src/api2/backup/mod.rs b/src/api2/backup/mod.rs
index c9ebad498..82c6438aa 100644
--- a/src/api2/backup/mod.rs
+++ b/src/api2/backup/mod.rs
@@ -108,7 +108,7 @@ fn upgrade_to_backup_protocol(
bail!("invalid protocol name");
}
- if parts.version >= http::version::Version::HTTP_2 {
+ if parts.version >= hyper::http::version::Version::HTTP_2 {
bail!(
"unexpected http version '{:?}' (expected version < 2)",
parts.version
diff --git a/src/api2/node/tasks.rs b/src/api2/node/tasks.rs
index 7fd07f01b..cad740559 100644
--- a/src/api2/node/tasks.rs
+++ b/src/api2/node/tasks.rs
@@ -3,8 +3,8 @@ use std::io::{BufRead, BufReader};
use anyhow::{bail, Error};
use futures::FutureExt;
-use http::request::Parts;
-use http::{header, Response, StatusCode};
+use hyper::http::request::Parts;
+use hyper::http::{header, Response, StatusCode};
use hyper::Body;
use serde_json::{json, Value};
diff --git a/src/api2/reader/mod.rs b/src/api2/reader/mod.rs
index 50f80de43..328141c8b 100644
--- a/src/api2/reader/mod.rs
+++ b/src/api2/reader/mod.rs
@@ -106,7 +106,7 @@ fn upgrade_to_backup_reader_protocol(
bail!("invalid protocol name");
}
- if parts.version >= http::version::Version::HTTP_2 {
+ if parts.version >= hyper::http::version::Version::HTTP_2 {
bail!(
"unexpected http version '{:?}' (expected version < 2)",
parts.version
diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs
index 7a72d49a4..829974d25 100644
--- a/src/bin/proxmox-backup-api.rs
+++ b/src/bin/proxmox-backup-api.rs
@@ -3,7 +3,7 @@ use std::pin::{pin, Pin};
use anyhow::{bail, Error};
use futures::*;
-use http::Response;
+use hyper::http::Response;
use hyper::{Body, StatusCode};
use tracing::level_filters::LevelFilter;
diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
index ce1be1c0d..a6d0a3325 100644
--- a/src/bin/proxmox-backup-proxy.rs
+++ b/src/bin/proxmox-backup-proxy.rs
@@ -4,9 +4,9 @@ use std::sync::{Arc, Mutex};
use anyhow::{bail, format_err, Context, Error};
use futures::*;
-use http::request::Parts;
-use http::Response;
use hyper::header;
+use hyper::http::request::Parts;
+use hyper::http::Response;
use hyper::{Body, StatusCode};
use tracing::level_filters::LevelFilter;
use tracing::{info, warn};
@@ -75,7 +75,7 @@ fn main() -> Result<(), Error> {
/// check for a cookie with the user-preferred language, fallback to the config one if not set or
/// not existing
-fn get_language(headers: &http::HeaderMap) -> String {
+fn get_language(headers: &hyper::http::HeaderMap) -> String {
let exists = |l: &str| Path::new(&format!("/usr/share/pbs-i18n/pbs-lang-{l}.js")).exists();
match cookie_from_header(headers, "PBSLangCookie") {
@@ -87,7 +87,7 @@ fn get_language(headers: &http::HeaderMap) -> String {
}
}
-fn get_theme(headers: &http::HeaderMap) -> String {
+fn get_theme(headers: &hyper::http::HeaderMap) -> String {
let exists = |t: &str| {
t.len() < 32
&& !t.contains('/')
diff --git a/src/server/auth.rs b/src/server/auth.rs
index f2da10795..1ea449a40 100644
--- a/src/server/auth.rs
+++ b/src/server/auth.rs
@@ -4,7 +4,7 @@ use proxmox_router::UserInformation;
use pbs_config::CachedUserInfo;
pub async fn check_pbs_auth(
- headers: &http::HeaderMap,
+ headers: &hyper::http::HeaderMap,
method: &hyper::Method,
) -> Result<(String, Box<dyn UserInformation + Sync + Send>), AuthError> {
let user_info = CachedUserInfo::new()?;
diff --git a/src/server/sync.rs b/src/server/sync.rs
index 0bd7a7a85..5e3fbdcd7 100644
--- a/src/server/sync.rs
+++ b/src/server/sync.rs
@@ -9,7 +9,7 @@ use std::time::Duration;
use anyhow::{bail, format_err, Context, Error};
use futures::{future::FutureExt, select};
-use http::StatusCode;
+use hyper::http::StatusCode;
use serde_json::json;
use tracing::{info, warn};
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pbs-devel] applied: [PATCH v2 proxmox-backup] cargo: drop direct `http` crate dependency, tree-wide namespace fix
2025-01-21 12:54 [pbs-devel] [PATCH v2 proxmox-backup] cargo: drop direct `http` crate dependency, tree-wide namespace fix Christian Ebner
@ 2025-01-24 8:51 ` Thomas Lamprecht
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2025-01-24 8:51 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Christian Ebner
Am 21.01.25 um 13:54 schrieb Christian Ebner:
> Instead of using and depending on the `http` create directly, use and
> depend on the re-exported `hyper::http`. Adapt namespace prefixes
> accordingly.
>
> This makes sure the `hyper::http` types are version compatible and
> allows to possibly depend on incompatible versions of `http` in the
> workspace in the future.
>
> No functional changes intended.
>
> Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
> ---
> changes since version 1:
> - `cargo fmt` run
>
> Cargo.toml | 2 --
> examples/h2client.rs | 2 +-
> examples/h2s-client.rs | 2 +-
> examples/h2s-server.rs | 7 +++++--
> examples/h2server.rs | 7 +++++--
> pbs-client/Cargo.toml | 1 -
> pbs-client/src/http_client.rs | 8 ++++----
> pbs-client/src/vsock_client.rs | 4 ++--
> proxmox-restore-daemon/Cargo.toml | 1 -
> proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs | 4 ++--
> src/acme/plugin.rs | 4 ++--
> src/api2/backup/mod.rs | 2 +-
> src/api2/node/tasks.rs | 4 ++--
> src/api2/reader/mod.rs | 2 +-
> src/bin/proxmox-backup-api.rs | 2 +-
> src/bin/proxmox-backup-proxy.rs | 8 ++++----
> src/server/auth.rs | 2 +-
> src/server/sync.rs | 2 +-
> 18 files changed, 33 insertions(+), 31 deletions(-)
>
>
applied, thanks!
This should also help our client build for the ArchLinux User Repo where I had
to downgrade http explicitly in the h2 dependency.
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-24 8:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-21 12:54 [pbs-devel] [PATCH v2 proxmox-backup] cargo: drop direct `http` crate dependency, tree-wide namespace fix Christian Ebner
2025-01-24 8:51 ` [pbs-devel] applied: " Thomas Lamprecht
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox