Skip to main content

env/
env.rs

1use std::time::Duration;
2
3use flyer::{
4    request::Request,
5    response::Response,
6    server,
7    session::cookie::SessionCookieManager,
8    utils::{env, load_env}
9};
10
11/*
12
13TODO: Create file called `.env` and copy the content.
14
15```env
16APP_URL="http://127.0.0.1:9999/"
17
18HOST="127.0.0.1"
19PORT="9999"
20```
21
22TODO: Create file called `index.html` in folder called `views` and copy the content below in the file.
23
24```html
25<!DOCTYPE html>
26<html lang="en">
27<head>
28    <meta charset="UTF-8">
29    <meta name="viewport" content="width=device-width, initial-scale=1.0">
30    <base href="{{ url() }}">
31    <title>Running App On {{ env(name="APP_URL") }}</title>
32</head>
33<body>
34    <h1>Hello Server: {{ url(path="/") }}</h1>
35</body>
36</html>
37```
38
39*/
40
41pub async fn index<'a>(_req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
42    return res.view("env.html", None);
43}
44
45fn main() {
46    load_env(".env");
47
48    let server = server(env("HOST").as_str(), env("PORT").parse().unwrap())
49        .session(SessionCookieManager::new(Duration::from_secs((60 * 60) * 2), "cookie_token", "test_123"))
50        .view("views");
51
52    server.router().group("/", |router| {
53        router.get("/", index);
54    });
55
56    print!("\r\n\r\nRunning server: {}\r\n\r\n", server.address());
57
58    server.listen();
59}