From e9e31039384a2d8260d3daacada14465f8d1552c Mon Sep 17 00:00:00 2001
From: Pierre HUBERT <pierre.git@communiquons.org>
Date: Fri, 28 Mar 2025 10:23:37 +0100
Subject: [PATCH] Format all code following migration to Rust edition 2024

---
 .drone.yml                                          |  1 +
 virtweb_backend/examples/api_curl.rs                |  5 +++--
 .../src/controllers/api_tokens_controller.rs        |  4 ++--
 virtweb_backend/src/controllers/auth_controller.rs  |  2 +-
 virtweb_backend/src/controllers/iso_controller.rs   |  4 ++--
 virtweb_backend/src/controllers/mod.rs              |  2 +-
 .../src/controllers/network_controller.rs           |  2 +-
 .../src/controllers/nwfilter_controller.rs          |  2 +-
 .../src/controllers/static_controller.rs            |  2 +-
 virtweb_backend/src/controllers/vm_controller.rs    |  4 ++--
 virtweb_backend/src/extractors/auth_extractor.rs    |  2 +-
 .../src/extractors/group_vm_id_extractor.rs         |  4 ++--
 .../src/extractors/local_auth_extractor.rs          |  2 +-
 virtweb_backend/src/libvirt_client.rs               |  2 +-
 virtweb_backend/src/libvirt_rest_structures/net.rs  |  2 +-
 .../src/libvirt_rest_structures/nw_filter.rs        |  2 +-
 virtweb_backend/src/libvirt_rest_structures/vm.rs   |  2 +-
 virtweb_backend/src/main.rs                         |  8 ++++----
 virtweb_backend/src/middlewares/auth_middleware.rs  | 13 ++++++++-----
 virtweb_backend/src/nat/nat_conf_mode.rs            |  8 ++++++--
 20 files changed, 41 insertions(+), 32 deletions(-)

diff --git a/.drone.yml b/.drone.yml
index 46d956c..01c7d2f 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -25,6 +25,7 @@ steps:
   - rustup component add clippy
   - cd virtweb_backend
   - cargo clippy -- -D warnings
+  - cargo clippy --examples -- -D warnings
   - cargo test
 
 - name: backend_compile
diff --git a/virtweb_backend/examples/api_curl.rs b/virtweb_backend/examples/api_curl.rs
index a13cd93..e7a9231 100644
--- a/virtweb_backend/examples/api_curl.rs
+++ b/virtweb_backend/examples/api_curl.rs
@@ -55,12 +55,13 @@ fn main() {
 
     let jwt = key.sign_jwt(&claims).expect("Failed to sign JWT!");
 
-    Command::new("curl")
+    let err = Command::new("curl")
         .args(["-X", &args.verb])
         .args(["-H", &format!("x-token-id: {}", args.token_id)])
         .args(["-H", &format!("x-token-content: {jwt}")])
         .args(args.run)
         .arg(full_url)
         .exec();
-    panic!("Failed to run curl!")
+
+    panic!("Failed to run cURL! {err}")
 }
diff --git a/virtweb_backend/src/controllers/api_tokens_controller.rs b/virtweb_backend/src/controllers/api_tokens_controller.rs
index a1f2a88..27a4da2 100644
--- a/virtweb_backend/src/controllers/api_tokens_controller.rs
+++ b/virtweb_backend/src/controllers/api_tokens_controller.rs
@@ -2,9 +2,9 @@
 
 use crate::api_tokens;
 use crate::api_tokens::{NewToken, TokenID, TokenRights};
-use crate::controllers::api_tokens_controller::rest_token::RestToken;
 use crate::controllers::HttpResult;
-use actix_web::{web, HttpResponse};
+use crate::controllers::api_tokens_controller::rest_token::RestToken;
+use actix_web::{HttpResponse, web};
 use basic_jwt::JWTPrivateKey;
 
 /// Create a special module for REST token to enforce usage of constructor function
diff --git a/virtweb_backend/src/controllers/auth_controller.rs b/virtweb_backend/src/controllers/auth_controller.rs
index c69b0fa..cde5c4f 100644
--- a/virtweb_backend/src/controllers/auth_controller.rs
+++ b/virtweb_backend/src/controllers/auth_controller.rs
@@ -1,6 +1,6 @@
 use actix_remote_ip::RemoteIP;
 use actix_web::web::Data;
-use actix_web::{web, HttpResponse, Responder};
+use actix_web::{HttpResponse, Responder, web};
 use light_openid::basic_state_manager::BasicStateManager;
 
 use crate::app_config::AppConfig;
diff --git a/virtweb_backend/src/controllers/iso_controller.rs b/virtweb_backend/src/controllers/iso_controller.rs
index 560f3d8..e6f7add 100644
--- a/virtweb_backend/src/controllers/iso_controller.rs
+++ b/virtweb_backend/src/controllers/iso_controller.rs
@@ -3,9 +3,9 @@ use crate::constants;
 use crate::controllers::HttpResult;
 use crate::utils::files_utils;
 use actix_files::NamedFile;
-use actix_multipart::form::tempfile::TempFile;
 use actix_multipart::form::MultipartForm;
-use actix_web::{web, HttpRequest, HttpResponse};
+use actix_multipart::form::tempfile::TempFile;
+use actix_web::{HttpRequest, HttpResponse, web};
 use futures_util::StreamExt;
 use std::fs::File;
 use std::io::Write;
diff --git a/virtweb_backend/src/controllers/mod.rs b/virtweb_backend/src/controllers/mod.rs
index 1a68d56..aa807d5 100644
--- a/virtweb_backend/src/controllers/mod.rs
+++ b/virtweb_backend/src/controllers/mod.rs
@@ -1,7 +1,7 @@
 use crate::libvirt_client::LibVirtClient;
 use actix_http::StatusCode;
 use actix_web::body::BoxBody;
-use actix_web::{web, HttpResponse};
+use actix_web::{HttpResponse, web};
 use std::error::Error;
 use std::fmt::{Display, Formatter};
 use std::io::ErrorKind;
diff --git a/virtweb_backend/src/controllers/network_controller.rs b/virtweb_backend/src/controllers/network_controller.rs
index b969e56..95da2fe 100644
--- a/virtweb_backend/src/controllers/network_controller.rs
+++ b/virtweb_backend/src/controllers/network_controller.rs
@@ -1,7 +1,7 @@
 use crate::controllers::{HttpResult, LibVirtReq};
 use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_rest_structures::net::NetworkInfo;
-use actix_web::{web, HttpResponse};
+use actix_web::{HttpResponse, web};
 
 #[derive(serde::Serialize, serde::Deserialize)]
 pub struct NetworkID {
diff --git a/virtweb_backend/src/controllers/nwfilter_controller.rs b/virtweb_backend/src/controllers/nwfilter_controller.rs
index bdbbbcb..9d52057 100644
--- a/virtweb_backend/src/controllers/nwfilter_controller.rs
+++ b/virtweb_backend/src/controllers/nwfilter_controller.rs
@@ -2,7 +2,7 @@ use crate::constants;
 use crate::controllers::{HttpResult, LibVirtReq};
 use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_rest_structures::nw_filter::NetworkFilter;
-use actix_web::{web, HttpResponse};
+use actix_web::{HttpResponse, web};
 
 #[derive(serde::Serialize, serde::Deserialize)]
 pub struct NetworkFilterID {
diff --git a/virtweb_backend/src/controllers/static_controller.rs b/virtweb_backend/src/controllers/static_controller.rs
index 137f0cc..9960852 100644
--- a/virtweb_backend/src/controllers/static_controller.rs
+++ b/virtweb_backend/src/controllers/static_controller.rs
@@ -18,7 +18,7 @@ mod serve_static_debug {
 
 #[cfg(not(debug_assertions))]
 mod serve_static_release {
-    use actix_web::{web, HttpResponse, Responder};
+    use actix_web::{HttpResponse, Responder, web};
     use rust_embed::RustEmbed;
 
     #[derive(RustEmbed)]
diff --git a/virtweb_backend/src/controllers/vm_controller.rs b/virtweb_backend/src/controllers/vm_controller.rs
index 6eb94b2..ed18742 100644
--- a/virtweb_backend/src/controllers/vm_controller.rs
+++ b/virtweb_backend/src/controllers/vm_controller.rs
@@ -1,10 +1,10 @@
 use crate::actors::vnc_handler;
 use crate::actors::vnc_tokens_actor::VNCTokensManager;
 use crate::controllers::{HttpResult, LibVirtReq};
-use crate::libvirt_lib_structures::domain::DomainState;
 use crate::libvirt_lib_structures::XMLUuid;
+use crate::libvirt_lib_structures::domain::DomainState;
 use crate::libvirt_rest_structures::vm::VMInfo;
-use actix_web::{rt, web, HttpRequest, HttpResponse};
+use actix_web::{HttpRequest, HttpResponse, rt, web};
 use std::path::Path;
 use tokio::net::UnixStream;
 
diff --git a/virtweb_backend/src/extractors/auth_extractor.rs b/virtweb_backend/src/extractors/auth_extractor.rs
index 26c2570..12f8b13 100644
--- a/virtweb_backend/src/extractors/auth_extractor.rs
+++ b/virtweb_backend/src/extractors/auth_extractor.rs
@@ -1,7 +1,7 @@
 use actix_identity::Identity;
 use actix_web::dev::Payload;
 use actix_web::{Error, FromRequest, HttpMessage, HttpRequest};
-use futures_util::future::{ready, Ready};
+use futures_util::future::{Ready, ready};
 use std::fmt::Display;
 
 pub struct AuthExtractor {
diff --git a/virtweb_backend/src/extractors/group_vm_id_extractor.rs b/virtweb_backend/src/extractors/group_vm_id_extractor.rs
index b5b823d..83a9946 100644
--- a/virtweb_backend/src/extractors/group_vm_id_extractor.rs
+++ b/virtweb_backend/src/extractors/group_vm_id_extractor.rs
@@ -1,11 +1,11 @@
 use crate::controllers::LibVirtReq;
-use crate::libvirt_lib_structures::domain::DomainXML;
 use crate::libvirt_lib_structures::XMLUuid;
+use crate::libvirt_lib_structures::domain::DomainXML;
 use crate::libvirt_rest_structures::vm::VMGroupId;
 use actix_http::Payload;
 use actix_web::error::ErrorBadRequest;
 use actix_web::web::Query;
-use actix_web::{web, Error, FromRequest, HttpRequest};
+use actix_web::{Error, FromRequest, HttpRequest, web};
 use std::future::Future;
 use std::pin::Pin;
 
diff --git a/virtweb_backend/src/extractors/local_auth_extractor.rs b/virtweb_backend/src/extractors/local_auth_extractor.rs
index 9933f26..1e664b7 100644
--- a/virtweb_backend/src/extractors/local_auth_extractor.rs
+++ b/virtweb_backend/src/extractors/local_auth_extractor.rs
@@ -1,7 +1,7 @@
 use crate::app_config::AppConfig;
 use actix_web::dev::Payload;
 use actix_web::{Error, FromRequest, HttpRequest};
-use futures_util::future::{ready, Ready};
+use futures_util::future::{Ready, ready};
 use std::ops::Deref;
 
 #[derive(Debug, Copy, Clone, PartialEq)]
diff --git a/virtweb_backend/src/libvirt_client.rs b/virtweb_backend/src/libvirt_client.rs
index 2f9290e..cf3fbd0 100644
--- a/virtweb_backend/src/libvirt_client.rs
+++ b/virtweb_backend/src/libvirt_client.rs
@@ -1,9 +1,9 @@
 use crate::actors::libvirt_actor;
 use crate::actors::libvirt_actor::LibVirtActor;
+use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_lib_structures::domain::{DomainState, DomainXML};
 use crate::libvirt_lib_structures::network::NetworkXML;
 use crate::libvirt_lib_structures::nwfilter::NetworkFilterXML;
-use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_rest_structures::hypervisor::HypervisorInfo;
 use crate::libvirt_rest_structures::net::NetworkInfo;
 use crate::libvirt_rest_structures::nw_filter::NetworkFilter;
diff --git a/virtweb_backend/src/libvirt_rest_structures/net.rs b/virtweb_backend/src/libvirt_rest_structures/net.rs
index 5a08ffd..eba7d30 100644
--- a/virtweb_backend/src/libvirt_rest_structures/net.rs
+++ b/virtweb_backend/src/libvirt_rest_structures/net.rs
@@ -1,5 +1,5 @@
-use crate::libvirt_lib_structures::network::*;
 use crate::libvirt_lib_structures::XMLUuid;
+use crate::libvirt_lib_structures::network::*;
 use crate::libvirt_rest_structures::LibVirtStructError::StructureExtraction;
 use crate::nat::nat_definition::Nat;
 use crate::nat::nat_lib;
diff --git a/virtweb_backend/src/libvirt_rest_structures/nw_filter.rs b/virtweb_backend/src/libvirt_rest_structures/nw_filter.rs
index 48bfa85..20706cd 100644
--- a/virtweb_backend/src/libvirt_rest_structures/nw_filter.rs
+++ b/virtweb_backend/src/libvirt_rest_structures/nw_filter.rs
@@ -1,9 +1,9 @@
+use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_lib_structures::nwfilter::{
     NetworkFilterRefXML, NetworkFilterRuleProtocolAllXML, NetworkFilterRuleProtocolArpXML,
     NetworkFilterRuleProtocolIpvx, NetworkFilterRuleProtocolLayer4, NetworkFilterRuleProtocolMac,
     NetworkFilterRuleXML, NetworkFilterXML,
 };
-use crate::libvirt_lib_structures::XMLUuid;
 use crate::libvirt_rest_structures::LibVirtStructError;
 use crate::libvirt_rest_structures::LibVirtStructError::{
     NetworkFilterExtraction, StructureExtraction,
diff --git a/virtweb_backend/src/libvirt_rest_structures/vm.rs b/virtweb_backend/src/libvirt_rest_structures/vm.rs
index 6543644..570b65c 100644
--- a/virtweb_backend/src/libvirt_rest_structures/vm.rs
+++ b/virtweb_backend/src/libvirt_rest_structures/vm.rs
@@ -1,7 +1,7 @@
 use crate::app_config::AppConfig;
 use crate::constants;
-use crate::libvirt_lib_structures::domain::*;
 use crate::libvirt_lib_structures::XMLUuid;
+use crate::libvirt_lib_structures::domain::*;
 use crate::libvirt_rest_structures::LibVirtStructError;
 use crate::libvirt_rest_structures::LibVirtStructError::StructureExtraction;
 use crate::utils::disks_utils::Disk;
diff --git a/virtweb_backend/src/main.rs b/virtweb_backend/src/main.rs
index c9e9765..a051640 100644
--- a/virtweb_backend/src/main.rs
+++ b/virtweb_backend/src/main.rs
@@ -1,17 +1,17 @@
 use actix::Actor;
 use actix_cors::Cors;
-use actix_identity::config::LogoutBehaviour;
 use actix_identity::IdentityMiddleware;
-use actix_multipart::form::tempfile::TempFileConfig;
+use actix_identity::config::LogoutBehaviour;
 use actix_multipart::form::MultipartFormConfig;
+use actix_multipart::form::tempfile::TempFileConfig;
 use actix_remote_ip::RemoteIPConfig;
-use actix_session::storage::CookieSessionStore;
 use actix_session::SessionMiddleware;
+use actix_session::storage::CookieSessionStore;
 use actix_web::cookie::{Key, SameSite};
 use actix_web::http::header;
 use actix_web::middleware::Logger;
 use actix_web::web::Data;
-use actix_web::{web, App, HttpServer};
+use actix_web::{App, HttpServer, web};
 use light_openid::basic_state_manager::BasicStateManager;
 use std::time::Duration;
 use virtweb_backend::actors::libvirt_actor::LibVirtActor;
diff --git a/virtweb_backend/src/middlewares/auth_middleware.rs b/virtweb_backend/src/middlewares/auth_middleware.rs
index f6b47ef..2c365c7 100644
--- a/virtweb_backend/src/middlewares/auth_middleware.rs
+++ b/virtweb_backend/src/middlewares/auth_middleware.rs
@@ -1,4 +1,4 @@
-use std::future::{ready, Ready};
+use std::future::{Ready, ready};
 use std::rc::Rc;
 
 use crate::app_config::AppConfig;
@@ -8,8 +8,8 @@ use crate::extractors::auth_extractor::AuthExtractor;
 use actix_web::body::EitherBody;
 use actix_web::dev::Payload;
 use actix_web::{
-    dev::{forward_ready, Service, ServiceRequest, ServiceResponse, Transform},
     Error, FromRequest, HttpResponse,
+    dev::{Service, ServiceRequest, ServiceResponse, Transform, forward_ready},
 };
 use futures_util::future::LocalBoxFuture;
 
@@ -68,7 +68,10 @@ where
                     .unwrap();
 
             if !AppConfig::get().is_allowed_ip(remote_ip.0) {
-                log::error!("An attempt to access VirtWeb from an unauthorized network has been intercepted! {:?}", remote_ip);
+                log::error!(
+                    "An attempt to access VirtWeb from an unauthorized network has been intercepted! {:?}",
+                    remote_ip
+                );
                 return Ok(req
                     .into_response(
                         HttpResponse::MethodNotAllowed()
@@ -86,8 +89,8 @@ where
                         Ok(auth) => auth,
                         Err(e) => {
                             log::error!(
-                            "Failed to extract API authentication information from request! {e}"
-                        );
+                                "Failed to extract API authentication information from request! {e}"
+                            );
                             return Ok(req
                                 .into_response(HttpResponse::PreconditionFailed().finish())
                                 .map_into_right_body());
diff --git a/virtweb_backend/src/nat/nat_conf_mode.rs b/virtweb_backend/src/nat/nat_conf_mode.rs
index e054d10..107986d 100644
--- a/virtweb_backend/src/nat/nat_conf_mode.rs
+++ b/virtweb_backend/src/nat/nat_conf_mode.rs
@@ -49,7 +49,9 @@ pub async fn sub_main() -> anyhow::Result<()> {
     let args = NatArgs::parse();
 
     if !args.network_file().exists() {
-        log::warn!("Cannot do anything for the network, because the NAT configuration file does not exixsts!");
+        log::warn!(
+            "Cannot do anything for the network, because the NAT configuration file does not exixsts!"
+        );
         return Ok(());
     }
 
@@ -184,7 +186,9 @@ fn toggle_port_forwarding(
         false => "tcp",
     };
 
-    log::info!("Forward (add={enable}) incoming {protocol} connections for {host_ip}:{host_port} to {guest_ip}:{guest_port} int {net_interface}");
+    log::info!(
+        "Forward (add={enable}) incoming {protocol} connections for {host_ip}:{host_port} to {guest_ip}:{guest_port} int {net_interface}"
+    );
 
     // Rule 1
     let cmd = Command::new(program)