Browse Source

chore(deps): update viz to v0.8.0 (#8704)

Fangdun Tsai 1 year ago
parent
commit
226c595706

+ 1 - 1
frameworks/Rust/viz/Cargo.toml

@@ -24,7 +24,7 @@ path = "src/main_diesel.rs"
 required-features = ["diesel", "diesel-async", "sailfish"]
 
 [dependencies]
-viz = "0.7"
+viz = "0.8"
 hyper = "1.0"
 hyper-util = "0.1"
 atoi = "2.0"

+ 1 - 6
frameworks/Rust/viz/src/db_sqlx.rs

@@ -6,10 +6,7 @@ pub use sqlx::{
     Arguments, PgPool, Postgres, Row,
 };
 
-use viz::{
-    async_trait, Error, FromRequest, IntoResponse, Request, RequestExt, Response,
-    StatusCode,
-};
+use viz::{Error, FromRequest, IntoResponse, Request, RequestExt, Response, StatusCode};
 
 use crate::models_sqlx::*;
 use crate::utils::get_query_param;
@@ -17,7 +14,6 @@ use crate::RANGE;
 
 pub struct DatabaseConnection(pub PoolConnection<Postgres>);
 
-#[async_trait]
 impl FromRequest for DatabaseConnection {
     type Error = PgError;
 
@@ -51,7 +47,6 @@ impl IntoResponse for PgError {
 
 pub struct Counter(pub u16);
 
-#[async_trait]
 impl FromRequest for Counter {
     type Error = Error;
 

+ 2 - 4
frameworks/Rust/viz/src/main.rs

@@ -3,7 +3,7 @@
 use serde::Serialize;
 use viz::{
     header::{HeaderValue, SERVER},
-    Error, Request, Response, ResponseExt, Result, Router, Tree,
+    Error, Request, Response, ResponseExt, Result, Router,
 };
 
 mod server;
@@ -36,7 +36,5 @@ async fn main() -> Result<()> {
         .get("/plaintext", plaintext)
         .get("/json", json);
 
-    let tree = Tree::from(app);
-
-    server::serve(tree).await.map_err(Error::Boxed)
+    server::serve(app).await.map_err(Error::Boxed)
 }

+ 10 - 12
frameworks/Rust/viz/src/main_diesel.rs

@@ -11,7 +11,7 @@ use nanorand::{Rng, WyRand};
 use viz::{
     header::{HeaderValue, SERVER},
     types::State,
-    Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
+    Request, RequestExt, Response, ResponseExt, Result, Router,
 };
 
 mod db_diesel;
@@ -89,15 +89,13 @@ async fn main() {
 
     let rng = WyRand::new();
 
-    let tree = Tree::from(
-        Router::new()
-            .get("/db", db)
-            .get("/fortunes", fortunes)
-            .get("/queries", queries)
-            .get("/updates", updates)
-            .with(State::new(pool))
-            .with(State::new(rng)),
-    );
-
-    server::serve(tree).await.unwrap()
+    let app = Router::new()
+        .get("/db", db)
+        .get("/fortunes", fortunes)
+        .get("/queries", queries)
+        .get("/updates", updates)
+        .with(State::new(pool))
+        .with(State::new(rng));
+
+    server::serve(app).await.unwrap()
 }

+ 2 - 2
frameworks/Rust/viz/src/main_pg.rs

@@ -6,7 +6,7 @@ use std::{
 use viz::{
     header::{HeaderValue, SERVER},
     types::State,
-    Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
+    Request, RequestExt, Response, ResponseExt, Result, Router,
 };
 use yarte::Template;
 
@@ -105,5 +105,5 @@ async fn serve() {
         .get("/updates", updates)
         .with(State::new(conn));
 
-    server::serve(Tree::from(app)).await.unwrap()
+    server::serve(app).await.unwrap()
 }

+ 2 - 2
frameworks/Rust/viz/src/main_sqlx.rs

@@ -4,7 +4,7 @@ use nanorand::{Rng, WyRand};
 use viz::{
     header::{HeaderValue, SERVER},
     types::State,
-    BytesMut, Error, Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
+    BytesMut, Error, Request, RequestExt, Response, ResponseExt, Result, Router,
 };
 
 mod db_sqlx;
@@ -100,7 +100,7 @@ async fn main() -> Result<()> {
         .with(State::new(pool))
         .with(State::new(rng));
 
-    server::serve(Tree::from(app)).await.map_err(Error::Boxed)
+    server::serve(app).await.map_err(Error::Boxed)
 }
 
 markup::define! {

+ 4 - 3
frameworks/Rust/viz/src/server.rs

@@ -6,9 +6,10 @@ use std::sync::Arc;
 use hyper::server::conn::http1::Builder;
 use hyper_util::rt::TokioIo;
 use tokio::net::{TcpListener, TcpSocket};
+use viz::{Responder, Router, Tree};
 
-pub async fn serve(tree: viz::Tree) -> Result<(), Box<dyn Error + Send + Sync>> {
-    let tree = Arc::new(tree);
+pub async fn serve(router: Router) -> Result<(), Box<dyn Error + Send + Sync>> {
+    let tree = Arc::<Tree>::new(router.into());
     let addr = SocketAddr::from((Ipv4Addr::UNSPECIFIED, 8080));
     let listener = reuse_listener(addr).expect("couldn't bind to addr");
 
@@ -22,7 +23,7 @@ pub async fn serve(tree: viz::Tree) -> Result<(), Box<dyn Error + Send + Sync>>
         tokio::task::spawn(async move {
             Builder::new()
                 .pipeline_flush(true)
-                .serve_connection(io, viz::Responder::new(tree, None))
+                .serve_connection(io, Responder::<Arc<SocketAddr>>::new(tree, None))
                 .with_upgrades()
                 .await
         });

+ 1 - 1
frameworks/Rust/viz/viz-diesel.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.74.1
+FROM rust:1.75
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 

+ 1 - 1
frameworks/Rust/viz/viz-pg.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.74.1
+FROM rust:1.75
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 

+ 1 - 1
frameworks/Rust/viz/viz-sqlx.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.74.1
+FROM rust:1.75
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 

+ 1 - 1
frameworks/Rust/viz/viz.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.74.1
+FROM rust:1.75
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++