]> git.proxmox.com Git - proxmox-backup.git/commitdiff
src/backup.rs; use a macro to define PROXMOX_BACKUP_PROTOCOL_ID_V1
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 5 Jun 2019 06:41:20 +0000 (08:41 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 5 Jun 2019 06:41:20 +0000 (08:41 +0200)
So that we can include it in static doc strings.

src/api2/backup.rs
src/backup.rs
src/client/http_client.rs
src/lib.rs

index 95026e752c2ba704ac447267b5f564a4bc4592dd..b32e93e710aa11720634df5a4af2b33ea4c2f468 100644 (file)
@@ -34,7 +34,7 @@ pub fn router() -> Router {
 pub fn api_method_upgrade_backup() -> ApiAsyncMethod {
     ApiAsyncMethod::new(
         upgrade_to_backup_protocol,
-        ObjectSchema::new("Upgraded to backup protocol.")
+        ObjectSchema::new(concat!("Upgraded to backup protocol ('", PROXMOX_BACKUP_PROTOCOL_ID_V1!(), "')."))
             .required("store", StringSchema::new("Datastore name."))
             .required("backup-type", StringSchema::new("Backup type.")
                       .format(Arc::new(ApiStringFormat::Enum(&["vm", "ct", "host"]))))
@@ -66,7 +66,7 @@ fn upgrade_to_backup_protocol(
         .ok_or_else(|| format_err!("missing Upgrade header"))?
         .to_str()?;
 
-    if protocols != PROXMOX_BACKUP_PROTOCOL_ID_V1 {
+    if protocols != PROXMOX_BACKUP_PROTOCOL_ID_V1!() {
         bail!("invalid protocol name");
     }
 
@@ -143,7 +143,7 @@ fn upgrade_to_backup_protocol(
 
     let response = Response::builder()
         .status(StatusCode::SWITCHING_PROTOCOLS)
-        .header(UPGRADE, HeaderValue::from_static(PROXMOX_BACKUP_PROTOCOL_ID_V1))
+        .header(UPGRADE, HeaderValue::from_static(PROXMOX_BACKUP_PROTOCOL_ID_V1!()))
         .body(Body::empty())?;
 
     Ok(Box::new(futures::future::ok(response)))
index 0cf8bc33ea86d63cae0f3b704284e87fbae699f4..e6aa8e2aea66f7c21315c25706f5865b3d0b4b18 100644 (file)
 //!
 //! Not sure if this is better. TODO
 
-pub const PROXMOX_BACKUP_PROTOCOL_ID_V1: &str = "proxmox-backup-protocol-v1";
+#[macro_export]
+macro_rules! PROXMOX_BACKUP_PROTOCOL_ID_V1 {
+    () =>  { "proxmox-backup-protocol-v1" }
+}
 
 mod chunk_stream;
 pub use chunk_stream::*;
index 59802c0bbc01eb019c81736eb6af56dc48aa9594..7deb63d1808caf77b7338c7f21e47d7b83a9be56 100644 (file)
@@ -23,6 +23,8 @@ use crate::tools::{self, BroadcastFuture, tty};
 use super::pipe_to_stream::*;
 use super::merge_known_chunks::*;
 
+use crate::backup::*;
+
 
 #[derive(Clone)]
 struct AuthInfo {
@@ -269,7 +271,7 @@ impl HttpClient {
 
             let enc_ticket = format!("PBSAuthCookie={}", percent_encode(auth.ticket.as_bytes(), DEFAULT_ENCODE_SET));
             req.headers_mut().insert("Cookie", HeaderValue::from_str(&enc_ticket).unwrap());
-            req.headers_mut().insert("UPGRADE", HeaderValue::from_str(crate::backup::PROXMOX_BACKUP_PROTOCOL_ID_V1).unwrap());
+            req.headers_mut().insert("UPGRADE", HeaderValue::from_str(PROXMOX_BACKUP_PROTOCOL_ID_V1!()).unwrap());
 
             client.request(req)
                 .map_err(Error::from)
@@ -635,7 +637,7 @@ impl BackupClient {
 
                         let mut release_capacity = body.release_capacity().clone();
 
-                        crate::backup::DigestListDecoder::new(body.map_err(Error::from))
+                        DigestListDecoder::new(body.map_err(Error::from))
                             .for_each(move |chunk| {
                                 let _ = release_capacity.release_capacity(chunk.len());
                                 println!("GOT DOWNLOAD {}", tools::digest_to_hex(&chunk));
index 4c5e94b73b06a29bb8dc6058f8be7f8fc76eba37..5fa1f82fdcaa5420a1aa2eee42e06db1933c7276 100644 (file)
@@ -14,6 +14,7 @@ pub mod pxar;
 
 pub mod section_config;
 
+#[macro_use]
 pub mod backup;
 
 pub mod config;