* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal