Browse Source

Salvo: upgrade salvo to 0.30.0 (#7549)

Chrislearn Young 3 years ago
parent
commit
e8aa204f80

+ 12 - 12
frameworks/Rust/salvo/Cargo.toml

@@ -16,23 +16,23 @@ name = "main-pg"
 path = "src/main_pg.rs"
 path = "src/main_pg.rs"
 
 
 [dependencies]
 [dependencies]
-anyhow = "1.0"
-async-trait = "0.1.51"
-bytes = "1.1.0"
+anyhow = "1"
+async-trait = "0.1"
+bytes = "1"
 diesel = { version = "1.4", features = ["postgres", "r2d2"] }
 diesel = { version = "1.4", features = ["postgres", "r2d2"] }
 futures = "0.3"
 futures = "0.3"
-markup = "0.13.0"
-mimalloc = { version = "0.1.25", default-features = false }
-once_cell = "1.5.2"
-rand = { version = "0.8.3", features = ["min_const_gen", "small_rng"] }
-random-fast-rng = "0.1.1"
-salvo = { version = "0.29", default-features = false, features = ["anyhow"] }
+markup = "0.13"
+mimalloc = { version = "0.1", default-features = false }
+once_cell = "1"
+rand = { version = "0.8", features = ["min_const_gen", "small_rng"] }
+random-fast-rng = "0.1"
+salvo = { version = "0.30", default-features = false, features = ["anyhow"] }
 serde = { version = "1", features = ["derive"] }
 serde = { version = "1", features = ["derive"] }
-serde_json = "1.0.81"
-smallvec = "1.6.1"
+serde_json = "1"
+smallvec = "1"
 snmalloc-rs = { version = "0.3", features = ["native-cpu"] }
 snmalloc-rs = { version = "0.3", features = ["native-cpu"] }
 tokio = { version = "1", features = ["macros", "rt"] }
 tokio = { version = "1", features = ["macros", "rt"] }
-tokio-postgres = "0.7.2"
+tokio-postgres = "0.7"
 v_htmlescape = "0.15"
 v_htmlescape = "0.15"
 
 
 [profile.release]
 [profile.release]

+ 5 - 12
frameworks/Rust/salvo/src/main.rs

@@ -11,7 +11,6 @@ use serde::Serialize;
 
 
 mod server;
 mod server;
 
 
-static HELLO_WORLD: &'static [u8] = b"Hello, world!";
 #[derive(Serialize)]
 #[derive(Serialize)]
 pub struct Message {
 pub struct Message {
     pub message: &'static str,
     pub message: &'static str,
@@ -21,7 +20,10 @@ pub struct Message {
 fn json(res: &mut Response) {
 fn json(res: &mut Response) {
     let headers = res.headers_mut();
     let headers = res.headers_mut();
     headers.insert(header::SERVER, HeaderValue::from_static("S"));
     headers.insert(header::SERVER, HeaderValue::from_static("S"));
-    headers.insert(header::CONTENT_TYPE, HeaderValue::from_static("application/json"));
+    headers.insert(
+        header::CONTENT_TYPE,
+        HeaderValue::from_static("application/json"),
+    );
     let data = serde_json::to_vec(&Message {
     let data = serde_json::to_vec(&Message {
         message: "Hello, World!",
         message: "Hello, World!",
     })
     })
@@ -34,7 +36,7 @@ fn plaintext(res: &mut Response) {
     let headers = res.headers_mut();
     let headers = res.headers_mut();
     headers.insert(header::SERVER, HeaderValue::from_static("S"));
     headers.insert(header::SERVER, HeaderValue::from_static("S"));
     headers.insert(header::CONTENT_TYPE, HeaderValue::from_static("text/plain"));
     headers.insert(header::CONTENT_TYPE, HeaderValue::from_static("text/plain"));
-    res.set_body(Body::Once(Bytes::from_static(HELLO_WORLD)));
+    res.set_body(Body::Once(Bytes::from_static(b"Hello, world!")));
 }
 }
 
 
 #[tokio::main]
 #[tokio::main]
@@ -45,15 +47,6 @@ async fn main() {
             .push(Router::with_path("json").get(json)),
             .push(Router::with_path("json").get(json)),
     );
     );
 
 
-    println!("Started http server: 127.0.0.1:8080");
-    let rt = tokio::runtime::Builder::new_current_thread()
-        .enable_all()
-        .build()
-        .unwrap();
-    serve(router).await;
-}
-#[inline]
-async fn serve(router: Arc<Router>) {
     server::builder()
     server::builder()
         .http1_pipeline_flush(true)
         .http1_pipeline_flush(true)
         .serve(Service::new(router))
         .serve(Service::new(router))

+ 1 - 1
frameworks/Rust/salvo/src/main_diesel.rs

@@ -179,7 +179,7 @@ fn main() {
     );
     );
     let size = available_parallelism().map(|n| n.get()).unwrap_or(16);
     let size = available_parallelism().map(|n| n.get()).unwrap_or(16);
     DB_POOL
     DB_POOL
-        .set(build_pool(&DB_URL, size as u32).expect(&format!("Error connecting to {}", &DB_URL)))
+        .set(build_pool(DB_URL, size as u32).unwrap_or_else(|_| panic!("Error connecting to {}", &DB_URL)))
         .ok();
         .ok();
     populate_cache().expect("error cache worlds");
     populate_cache().expect("error cache worlds");
     for _ in 1..size {
     for _ in 1..size {

+ 4 - 5
frameworks/Rust/salvo/src/main_pg.rs

@@ -185,8 +185,7 @@ impl WorldHandler {
     async fn new() -> Self {
     async fn new() -> Self {
         Self {
         Self {
             conn: PgConnection::create(DB_URL)
             conn: PgConnection::create(DB_URL)
-                .await
-                .expect(&format!("Error connecting to {}", &DB_URL)),
+                .await.unwrap_or_else(|_| panic!("Error connecting to {}", &DB_URL)),
         }
         }
     }
     }
 }
 }
@@ -206,7 +205,7 @@ impl WorldsHandler {
         Self {
         Self {
             conn: PgConnection::create(DB_URL)
             conn: PgConnection::create(DB_URL)
                 .await
                 .await
-                .expect(&format!("Error connecting to {}", &DB_URL)),
+                .unwrap_or_else(|_| panic!("Error connecting to {}", &DB_URL)),
         }
         }
     }
     }
 }
 }
@@ -228,7 +227,7 @@ impl UpdatesHandler {
         Self {
         Self {
             conn: PgConnection::create(DB_URL)
             conn: PgConnection::create(DB_URL)
                 .await
                 .await
-                .expect(&format!("Error connecting to {}", &DB_URL)),
+                .unwrap_or_else(|_| panic!("Error connecting to {}", &DB_URL)),
         }
         }
     }
     }
 }
 }
@@ -250,7 +249,7 @@ impl FortunesHandler {
         Self {
         Self {
             conn: PgConnection::create(DB_URL)
             conn: PgConnection::create(DB_URL)
                 .await
                 .await
-                .expect(&format!("Error connecting to {}", &DB_URL)),
+                .unwrap_or_else(|_| panic!("Error connecting to {}", &DB_URL)),
         }
         }
     }
     }
 }
 }

+ 9 - 7
frameworks/Rust/salvo/src/server.rs

@@ -1,15 +1,17 @@
 use std::io;
 use std::io;
 use std::net::{Ipv4Addr, SocketAddr};
 use std::net::{Ipv4Addr, SocketAddr};
 
 
-use salvo::hyper::server::conn::AddrIncoming;
 use salvo::hyper;
 use salvo::hyper;
+use salvo::hyper::server::conn::AddrIncoming;
 use tokio::net::{TcpListener, TcpSocket};
 use tokio::net::{TcpListener, TcpSocket};
 
 
 pub fn builder() -> hyper::server::Builder<AddrIncoming> {
 pub fn builder() -> hyper::server::Builder<AddrIncoming> {
     let addr = SocketAddr::from((Ipv4Addr::UNSPECIFIED, 8080));
     let addr = SocketAddr::from((Ipv4Addr::UNSPECIFIED, 8080));
     let listener = reuse_listener(addr).expect("couldn't bind to addr");
     let listener = reuse_listener(addr).expect("couldn't bind to addr");
     let incoming = AddrIncoming::from_listener(listener).unwrap();
     let incoming = AddrIncoming::from_listener(listener).unwrap();
-    hyper::Server::builder(incoming).http1_only(true).tcp_nodelay(true)
+    hyper::Server::builder(incoming)
+        .http1_only(true)
+        .tcp_nodelay(true)
 }
 }
 
 
 fn reuse_listener(addr: SocketAddr) -> io::Result<TcpListener> {
 fn reuse_listener(addr: SocketAddr) -> io::Result<TcpListener> {
@@ -19,13 +21,13 @@ fn reuse_listener(addr: SocketAddr) -> io::Result<TcpListener> {
     };
     };
 
 
     #[cfg(unix)]
     #[cfg(unix)]
-        {
-            if let Err(e) = socket.set_reuseport(true) {
-                eprintln!("error setting SO_REUSEPORT: {}", e);
-            }
+    {
+        if let Err(e) = socket.set_reuseport(true) {
+            eprintln!("error setting SO_REUSEPORT: {}", e);
         }
         }
+    }
 
 
     socket.set_reuseaddr(true)?;
     socket.set_reuseaddr(true)?;
     socket.bind(addr)?;
     socket.bind(addr)?;
     socket.listen(1024)
     socket.listen(1024)
-}
+}