Skip to main content

view/
view.rs

1use flyer::{server, view::ViewData};
2use serde::Serialize;
3
4/*
5
6TODO: Create file called index.html in views folder and paste html content below
7
8```html
9<!DOCTYPE html>
10<html lang="en">
11<head>
12    <meta charset="UTF-8">
13    <meta name="viewport" content="width=device-width, initial-scale=1.0">
14    <title>Hello {{ user.first_name }}</title>
15</head>
16<body>
17    <h1>Hi, {{ user.first_name }} {{ user.last_name }} how are you?</h1>
18</body>
19</html>
20```
21
22*/
23
24#[derive(Serialize)]
25pub struct User<'a> {
26    first_name: &'a str,
27    last_name: &'a str,
28}
29
30fn main() {
31    let server = server("127.0.0.1", 9999)
32        .view("views");
33
34    server.router().get("/", async |_req, res| {
35        let mut data = ViewData::new();
36
37        data.insert("user", &User{
38            first_name: "Jeo",
39            last_name: "Deo"
40        });
41
42        return res.view("index.html", Some(data));
43    });
44
45    println!("Running Server: {}", server.address());
46
47    server.listen();
48}