public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox 03/13] http: takeover websocket feature from proxmox
Date: Fri, 14 May 2021 15:44:39 +0200	[thread overview]
Message-ID: <20210514134457.1447930-4-f.gruenbichler@proxmox.com> (raw)
In-Reply-To: <20210514134457.1447930-1-f.gruenbichler@proxmox.com>

adapted: use statements for proxmox::*, use statements for doctests

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---

Notes:
    BREAKING change! requires corresponding update in proxmox-backup

 proxmox-http/Cargo.toml                       | 10 ++++++-
 proxmox-http/src/lib.rs                       |  2 ++
 .../src/websocket/mod.rs                      | 14 ++++-----
 proxmox/Cargo.toml                            |  3 +-
 proxmox/debian/control                        | 29 ++-----------------
 proxmox/src/tools/mod.rs                      |  3 --
 6 files changed, 21 insertions(+), 40 deletions(-)
 rename proxmox/src/tools/websocket.rs => proxmox-http/src/websocket/mod.rs (98%)

diff --git a/proxmox-http/Cargo.toml b/proxmox-http/Cargo.toml
index 9c2d3c5..641ace2 100644
--- a/proxmox-http/Cargo.toml
+++ b/proxmox-http/Cargo.toml
@@ -12,9 +12,17 @@ description = "Proxmox HTTP library"
 exclude = [ "debian" ]
 
 [dependencies]
+anyhow = "1.0"
+base64 = { version = "0.12", optional = true }
+futures = { version = "0.3", optional = true }
+hyper = { version = "0.14", features = [ "full" ], optional = true }
+openssl =  { version = "0.10", optional = true }
+tokio = { version = "1.0", features = [], optional = true }
+
+proxmox = { path = "../proxmox", optional = true, version = "0.11.3", default-features = false }
 
 [features]
 default = []
 
 client = []
-websocket = []
+websocket = [ "base64", "futures", "hyper", "openssl", "proxmox/tokio", "tokio/io-util", "tokio/sync" ]
diff --git a/proxmox-http/src/lib.rs b/proxmox-http/src/lib.rs
index e69de29..31e44af 100644
--- a/proxmox-http/src/lib.rs
+++ b/proxmox-http/src/lib.rs
@@ -0,0 +1,2 @@
+#[cfg(feature = "websocket")]
+pub mod websocket;
diff --git a/proxmox/src/tools/websocket.rs b/proxmox-http/src/websocket/mod.rs
similarity index 98%
rename from proxmox/src/tools/websocket.rs
rename to proxmox-http/src/websocket/mod.rs
index 83679b6..aac7304 100644
--- a/proxmox/src/tools/websocket.rs
+++ b/proxmox-http/src/websocket/mod.rs
@@ -22,8 +22,8 @@ use tokio::sync::mpsc;
 use futures::future::FutureExt;
 use futures::ready;
 
-use crate::sys::error::io_err_other;
-use crate::tools::byte_buffer::ByteBuffer;
+use proxmox::sys::error::io_err_other;
+use proxmox::tools::byte_buffer::ByteBuffer;
 
 // see RFC6455 section 7.4.1
 #[derive(Debug, Clone, Copy)]
@@ -146,7 +146,7 @@ fn mask_bytes(mask: Option<[u8; 4]>, data: &mut [u8]) {
 ///
 /// A normal Frame
 /// ```
-/// # use proxmox::tools::websocket::*;
+/// # use proxmox_http::websocket::*;
 /// # use std::io;
 /// # fn main() -> Result<(), WebSocketError> {
 /// let data = vec![0,1,2,3,4];
@@ -159,7 +159,7 @@ fn mask_bytes(mask: Option<[u8; 4]>, data: &mut [u8]) {
 ///
 /// A masked Frame
 /// ```
-/// # use proxmox::tools::websocket::*;
+/// # use proxmox_http::websocket::*;
 /// # use std::io;
 /// # fn main() -> Result<(), WebSocketError> {
 /// let data = vec![0,1,2,3,4];
@@ -172,7 +172,7 @@ fn mask_bytes(mask: Option<[u8; 4]>, data: &mut [u8]) {
 ///
 /// A ping Frame
 /// ```
-/// # use proxmox::tools::websocket::*;
+/// # use proxmox_http::websocket::*;
 /// # use std::io;
 /// # fn main() -> Result<(), WebSocketError> {
 /// let data = vec![0,1,2,3,4];
@@ -233,7 +233,7 @@ pub fn create_frame(
 ///
 /// Example usage:
 /// ```
-/// # use proxmox::tools::websocket::*;
+/// # use proxmox_http::websocket::*;
 /// # use std::io;
 /// # use tokio::io::{AsyncWrite, AsyncWriteExt};
 /// async fn code<I: AsyncWrite + Unpin>(writer: I) -> io::Result<()> {
@@ -352,7 +352,7 @@ impl FrameHeader {
     ///
     /// Example:
     /// ```
-    /// # use proxmox::tools::websocket::*;
+    /// # use proxmox_http::websocket::*;
     /// # use std::io;
     /// # fn main() -> Result<(), WebSocketError> {
     /// let frame = create_frame(None, &[0,1,2,3], OpCode::Ping)?;
diff --git a/proxmox/Cargo.toml b/proxmox/Cargo.toml
index da46e74..5698969 100644
--- a/proxmox/Cargo.toml
+++ b/proxmox/Cargo.toml
@@ -50,7 +50,7 @@ proxmox-api-macro = { path = "../proxmox-api-macro", optional = true, version =
 proxmox-sortable-macro = { path = "../proxmox-sortable-macro", optional = true, version = "0.1.1" }
 
 [features]
-default = [ "cli", "router", "tfa", "u2f", "websocket" ]
+default = [ "cli", "router", "tfa", "u2f" ]
 sortable-macro = ["proxmox-sortable-macro"]
 
 # api:
@@ -58,7 +58,6 @@ api-macro = ["proxmox-api-macro"]
 test-harness = []
 cli = [ "router", "hyper", "tokio" ]
 router = [ "futures", "hyper", "tokio" ]
-websocket = [ "futures", "hyper", "openssl", "tokio/sync", "tokio/io-util", "openssl" ]
 tfa = [ "openssl" ]
 u2f = [ "base32" ]
 
diff --git a/proxmox/debian/control b/proxmox/debian/control
index 9091cb8..0ba2bc9 100644
--- a/proxmox/debian/control
+++ b/proxmox/debian/control
@@ -28,15 +28,12 @@ Build-Depends: debhelper (>= 11),
  librust-serde-json-1+default-dev <!nocheck>,
  librust-textwrap-0.11+default-dev <!nocheck>,
  librust-tokio-1+default-dev <!nocheck>,
- librust-tokio-1+io-util-dev <!nocheck>,
- librust-tokio-1+sync-dev <!nocheck>,
  librust-url-2+default-dev (>= 2.1-~~) <!nocheck>,
  uuid-dev <!nocheck>,
  uuid-dev <!nocheck>,
  uuid-dev <!nocheck>,
  uuid-dev <!nocheck>,
  uuid-dev <!nocheck>,
- uuid-dev <!nocheck>,
  uuid-dev <!nocheck>
 Maintainer: Proxmox Support Team <support@proxmox.com>
 Standards-Version: 4.4.1
@@ -79,8 +76,7 @@ Suggests:
  librust-proxmox+proxmox-sortable-macro-dev (= ${binary:Version}),
  librust-proxmox+router-dev (= ${binary:Version}),
  librust-proxmox+tokio-dev (= ${binary:Version}),
- librust-proxmox+tokio-stream-dev (= ${binary:Version}),
- librust-proxmox+websocket-dev (= ${binary:Version})
+ librust-proxmox+tokio-stream-dev (= ${binary:Version})
 Provides:
  librust-proxmox+test-harness-dev (= ${binary:Version}),
  librust-proxmox-0-dev (= ${binary:Version}),
@@ -162,8 +158,7 @@ Depends:
  librust-proxmox+cli-dev (= ${binary:Version}),
  librust-proxmox+router-dev (= ${binary:Version}),
  librust-proxmox+tfa-dev (= ${binary:Version}),
- librust-proxmox+u2f-dev (= ${binary:Version}),
- librust-proxmox+websocket-dev (= ${binary:Version})
+ librust-proxmox+u2f-dev (= ${binary:Version})
 Provides:
  librust-proxmox-0+default-dev (= ${binary:Version}),
  librust-proxmox-0.11+default-dev (= ${binary:Version}),
@@ -308,23 +303,3 @@ Provides:
 Description: Proxmox library - feature "tokio-stream"
  This metapackage enables feature "tokio-stream" for the Rust proxmox crate, by
  pulling in any additional dependencies needed by that feature.
-
-Package: librust-proxmox+websocket-dev
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- librust-proxmox-dev (= ${binary:Version}),
- librust-futures-0.3+default-dev,
- librust-hyper-0.14+default-dev,
- librust-hyper-0.14+full-dev,
- librust-openssl-0.10+default-dev,
- librust-tokio-1+io-util-dev,
- librust-tokio-1+sync-dev
-Provides:
- librust-proxmox-0+websocket-dev (= ${binary:Version}),
- librust-proxmox-0.11+websocket-dev (= ${binary:Version}),
- librust-proxmox-0.11.4+websocket-dev (= ${binary:Version})
-Description: Proxmox library - feature "websocket"
- This metapackage enables feature "websocket" for the Rust proxmox crate, by
- pulling in any additional dependencies needed by that feature.
diff --git a/proxmox/src/tools/mod.rs b/proxmox/src/tools/mod.rs
index 45f46f9..b172b09 100644
--- a/proxmox/src/tools/mod.rs
+++ b/proxmox/src/tools/mod.rs
@@ -21,9 +21,6 @@ pub mod time;
 pub mod uuid;
 pub mod vec;
 
-#[cfg(feature = "websocket")]
-pub mod websocket;
-
 #[cfg(feature = "tfa")]
 pub mod tfa;
 
-- 
2.20.1





  parent reply	other threads:[~2021-05-14 13:45 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-14 13:44 [pbs-devel] [PATCH proxmox(-backup) 00/21] pull HTTP code into proxmox/proxmox-http Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 01/13] proxmox: add missing +router -> futures dep Fabian Grünbichler
2021-05-17  8:22   ` [pbs-devel] applied: " Dietmar Maurer
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 02/13] meta: add empty proxmox-http sub-crate Fabian Grünbichler
2021-05-14 13:44 ` Fabian Grünbichler [this message]
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 04/13] http: make clippy happy Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 05/13] proxmox: takeover socket helper from proxmox_backup Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 06/13] http: takeover MaybeTlsStream " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 07/13] http: takeover build_authority helper " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 08/13] http: takeover ProxyConfig " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 09/13] http: takeover tools::http " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 10/13] http: takeover simple HTTP client " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 11/13] http: make clippy happy Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 12/13] http: rustfmt Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox 13/13] http: update d/control Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 1/8] move websocket to new 'proxmox_http' crate Fabian Grünbichler
2021-05-17  8:35   ` [pbs-devel] applied: " Dietmar Maurer
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 2/8] refactor: move socket helper to proxmox crate Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 3/8] move MaybeTlsStream wrapper to proxmox_http Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 4/8] HttpsConnector: make keepalive configurable Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 5/8] move ProxyConfig to proxmox_http Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 6/8] move tools::http " Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 7/8] SimpleHttp: factor out product-specific bits Fabian Grünbichler
2021-05-14 13:44 ` [pbs-devel] [PATCH proxmox-backup 8/8] move SimpleHttp to proxmox_http Fabian Grünbichler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210514134457.1447930-4-f.gruenbichler@proxmox.com \
    --to=f.gruenbichler@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal