Skip to content

Commit 04c882e

Browse files
authored
[Viz]: v0.7.0 (#8658)
1 parent 4895b05 commit 04c882e

16 files changed

+52
-63
lines changed

frameworks/Rust/viz/Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ path = "src/main_diesel.rs"
2424
required-features = ["diesel", "diesel-async", "sailfish"]
2525

2626
[dependencies]
27-
viz = "0.4"
28-
hyper = "0.14"
27+
viz = "0.7"
28+
hyper = "1.0"
29+
hyper-util = "0.1"
2930
atoi = "2.0"
3031
serde = { version = "1.0", features = ["derive"] }
3132
nanorand = "0.7"
@@ -50,7 +51,7 @@ diesel-async = { version = "0.4", default-features = false, features = [
5051
], optional = true }
5152

5253
yarte = { version = "0.15", features = ["bytes-buf", "json"], optional = true }
53-
markup = { version = "0.13", optional = true }
54+
markup = { version = "0.15", optional = true }
5455
v_htmlescape = { version = "0.15", optional = true }
5556
sailfish = { version = "0.8", optional = true }
5657

frameworks/Rust/viz/src/db_diesel.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::borrow::Cow;
2-
31
use diesel::prelude::*;
42
use diesel_async::{
53
pooled_connection::bb8::{Pool, RunError},
@@ -112,7 +110,7 @@ pub async fn tell_fortune(pool: Pool<AsyncPgConnection>) -> Result<String, PgErr
112110

113111
items.push(Fortune {
114112
id: 0,
115-
message: Cow::Borrowed("Additional fortune added at request time."),
113+
message: "Additional fortune added at request time.".to_string(),
116114
});
117115
items.sort_by(|it, next| it.message.cmp(&next.message));
118116

frameworks/Rust/viz/src/db_pg.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{borrow::Cow, collections::HashMap, fmt::Write, io, sync::Arc};
1+
use std::{collections::HashMap, fmt::Write, io, sync::Arc};
22

33
use futures_util::{stream::FuturesUnordered, StreamExt, TryFutureExt, TryStreamExt};
44
use rand::{rngs::SmallRng, thread_rng, Rng, SeedableRng};
@@ -162,7 +162,7 @@ impl PgConnection {
162162
pub async fn tell_fortune(&self) -> Result<Vec<Fortune>, PgError> {
163163
let mut items = vec![Fortune {
164164
id: 0,
165-
message: Cow::Borrowed("Additional fortune added at request time."),
165+
message: "Additional fortune added at request time.".to_string(),
166166
}];
167167

168168
let stream = self
@@ -176,7 +176,7 @@ impl PgConnection {
176176

177177
items.push(Fortune {
178178
id: row.get(0),
179-
message: Cow::Owned(row.get(1)),
179+
message: row.get(1),
180180
});
181181
}
182182

frameworks/Rust/viz/src/db_sqlx.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::borrow::Cow;
2-
31
use nanorand::{Rng, WyRand};
42

53
pub use sqlx::{
@@ -110,14 +108,14 @@ pub async fn get_fortunes(
110108
let mut items = sqlx::query("SELECT * FROM Fortune")
111109
.map(|row: PgRow| Fortune {
112110
id: row.get(0),
113-
message: Cow::Owned(row.get(1)),
111+
message: row.get(1),
114112
})
115113
.fetch_all(&mut *conn)
116114
.await?;
117115

118116
items.push(Fortune {
119117
id: 0,
120-
message: Cow::Borrowed("Additional fortune added at request time."),
118+
message: "Additional fortune added at request time.".to_string(),
121119
});
122120

123121
items.sort_by(|it, next| it.message.cmp(&next.message));

frameworks/Rust/viz/src/main.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use serde::Serialize;
44
use viz::{
55
header::{HeaderValue, SERVER},
6-
Error, Request, Response, ResponseExt, Result, Router, ServiceMaker,
6+
Error, Request, Response, ResponseExt, Result, Router, Tree,
77
};
88

99
mod server;
@@ -36,9 +36,7 @@ async fn main() -> Result<()> {
3636
.get("/plaintext", plaintext)
3737
.get("/json", json);
3838

39-
server::builder()
40-
.http1_pipeline_flush(true)
41-
.serve(ServiceMaker::from(app))
42-
.await
43-
.map_err(Error::normal)
39+
let tree = Tree::from(app);
40+
41+
server::serve(tree).await.map_err(Error::Boxed)
4442
}

frameworks/Rust/viz/src/main_diesel.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use nanorand::{Rng, WyRand};
1111
use viz::{
1212
header::{HeaderValue, SERVER},
1313
types::State,
14-
Request, RequestExt, Response, ResponseExt, Result, Router, ServiceMaker,
14+
Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
1515
};
1616

1717
mod db_diesel;
@@ -89,7 +89,7 @@ async fn main() {
8989

9090
let rng = WyRand::new();
9191

92-
let service = ServiceMaker::from(
92+
let tree = Tree::from(
9393
Router::new()
9494
.get("/db", db)
9595
.get("/fortunes", fortunes)
@@ -99,9 +99,5 @@ async fn main() {
9999
.with(State::new(rng)),
100100
);
101101

102-
serve(service).await;
103-
}
104-
105-
async fn serve(service: ServiceMaker) {
106-
server::builder().serve(service).await.unwrap()
102+
server::serve(tree).await.unwrap()
107103
}

frameworks/Rust/viz/src/main_pg.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::{
66
use viz::{
77
header::{HeaderValue, SERVER},
88
types::State,
9-
Request, RequestExt, Response, ResponseExt, Result, Router, ServiceMaker,
9+
Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
1010
};
1111
use yarte::Template;
1212

@@ -19,8 +19,8 @@ use db_pg::{get_conn, PgConnection};
1919

2020
#[derive(Template)]
2121
#[template(path = "fortune.hbs")]
22-
pub struct FortunesTemplate<'a> {
23-
pub fortunes: &'a Vec<models::Fortune>,
22+
pub struct FortunesTemplate {
23+
pub fortunes: Vec<models::Fortune>,
2424
}
2525

2626
const DB_URL: &str =
@@ -42,11 +42,9 @@ async fn fortunes(req: Request) -> Result<Response> {
4242

4343
let fortunes = conn.tell_fortune().await?;
4444

45-
let buf = FortunesTemplate {
46-
fortunes: &fortunes,
47-
}
48-
.call()
49-
.expect("error rendering template");
45+
let buf = FortunesTemplate { fortunes }
46+
.call()
47+
.expect("error rendering template");
5048

5149
let mut res = Response::html(buf);
5250
res.headers_mut()
@@ -107,8 +105,5 @@ async fn serve() {
107105
.get("/updates", updates)
108106
.with(State::new(conn));
109107

110-
server::builder()
111-
.serve(ServiceMaker::from(app))
112-
.await
113-
.unwrap()
108+
server::serve(Tree::from(app)).await.unwrap()
114109
}

frameworks/Rust/viz/src/main_sqlx.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ use nanorand::{Rng, WyRand};
44
use viz::{
55
header::{HeaderValue, SERVER},
66
types::State,
7-
BytesMut, Error, Request, RequestExt, Response, ResponseExt, Result, Router,
8-
ServiceMaker,
7+
BytesMut, Error, Request, RequestExt, Response, ResponseExt, Result, Router, Tree,
98
};
109

1110
mod db_sqlx;
@@ -101,10 +100,7 @@ async fn main() -> Result<()> {
101100
.with(State::new(pool))
102101
.with(State::new(rng));
103102

104-
server::builder()
105-
.serve(ServiceMaker::from(app))
106-
.await
107-
.map_err(Error::normal)
103+
server::serve(Tree::from(app)).await.map_err(Error::Boxed)
108104
}
109105

110106
markup::define! {

frameworks/Rust/viz/src/models.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::borrow::Cow;
2-
31
use serde::Serialize;
42

53
#[derive(Serialize, Debug, yarte::Serialize)]
@@ -11,5 +9,5 @@ pub struct World {
119
#[derive(Serialize, Debug)]
1210
pub struct Fortune {
1311
pub id: i32,
14-
pub message: Cow<'static, str>,
12+
pub message: String,
1513
}

frameworks/Rust/viz/src/models_diesel.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::borrow::Cow;
2-
31
use diesel::Queryable;
42
use sailfish::TemplateOnce;
53
use serde::Serialize;
@@ -13,7 +11,7 @@ pub struct World {
1311
#[derive(Serialize, Queryable, Debug)]
1412
pub struct Fortune {
1513
pub id: i32,
16-
pub message: Cow<'static, str>,
14+
pub message: String,
1715
}
1816

1917
#[derive(TemplateOnce)]

0 commit comments

Comments
 (0)