Quellcode durchsuchen

Add yarte at actix-pg fortunes (#4983)

Juan Aguilar vor 6 Jahren
Ursprung
Commit
32111f7310

+ 1 - 0
frameworks/Rust/actix/Cargo.toml

@@ -34,6 +34,7 @@ actix-service = "0.4.0"
 jemallocator = "0.3.0"
 askama = "0.8"
 markup = "0.3.1"
+yarte = "0.3"
 serde = "1.0"
 serde_json = "1.0"
 serde_derive = "1.0"

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

@@ -20,7 +20,7 @@ mod db_pg;
 mod models;
 mod utils;
 use crate::db_pg::{PgConnection, RandomWorld, RandomWorlds, TellFortune, UpdateWorld};
-use crate::utils::{FortunesTemplate, Writer};
+use crate::utils::{FortunesYarteTemplate, Writer};
 
 fn world_row(
     db: web::Data<Addr<PgConnection>>,
@@ -99,7 +99,7 @@ fn fortune(
             Ok(fortunes) => {
                 let mut body = BytesMut::with_capacity(2048);
                 let mut writer = Writer(&mut body);
-                let _ = write!(writer, "{}", FortunesTemplate { fortunes });
+                let _ = write!(writer, "{}", FortunesYarteTemplate { fortunes });
 
                 let mut res = HttpResponse::with_body(
                     StatusCode::OK,

+ 7 - 0
frameworks/Rust/actix/src/utils.rs

@@ -2,6 +2,7 @@
 use std::{cmp, io};
 
 use bytes::{BufMut, BytesMut};
+use yarte::Template;
 
 #[allow(non_snake_case)]
 #[derive(Serialize, Debug)]
@@ -102,3 +103,9 @@ markup::define! {
         }
     }
 }
+
+#[derive(Template)]
+#[template(path = "fortune.hbs")]
+pub struct FortunesYarteTemplate {
+    pub fortunes: Vec<Fortune>
+}

+ 5 - 0
frameworks/Rust/actix/templates/fortune.hbs

@@ -0,0 +1,5 @@
+<!DOCTYPE html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>
+      {{~# each fortunes ~}}
+      <tr><td>{{id}}</td><td>{{message}}</td></tr>
+      {{~/each ~}}
+</table></body></html>