commit
593cfb02dd
@ -0,0 +1,13 @@
|
|||||||
|
[package]
|
||||||
|
name = "localdriver"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rocket = "0.5.0-rc.2"
|
||||||
|
|
||||||
|
[dependencies.rocket_dyn_templates]
|
||||||
|
version = "0.1.0-rc.2"
|
||||||
|
features = ["tera"]
|
@ -0,0 +1,50 @@
|
|||||||
|
#[macro_use] extern crate rocket;
|
||||||
|
use rocket::tokio::time::{sleep, Duration};
|
||||||
|
use rocket::form::Form;
|
||||||
|
use rocket_dyn_templates::{Template, context};
|
||||||
|
|
||||||
|
#[derive(FromForm)]
|
||||||
|
struct Note<'r> {
|
||||||
|
title: &'r str,
|
||||||
|
description: &'r str,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[post("/form", data="<note>")]
|
||||||
|
async fn form(note: Form<Note<'_>>) -> String {
|
||||||
|
format!("New note: {} with description\n{}.", note.title, note.description)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[get("/hello/<name>")]
|
||||||
|
async fn hello(name: &str) -> String {
|
||||||
|
format!("Hello, {}", name)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test1() -> Vec {
|
||||||
|
Vec::new()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[get("/")]
|
||||||
|
async fn index() -> Template {
|
||||||
|
let notes: Vec<Note<'_>> = Vec::new();
|
||||||
|
notes.append(Note{ title: "Test", description: "Test" });
|
||||||
|
Template::render("index", context!{
|
||||||
|
title: "Home",
|
||||||
|
name: "Tait Hoyem"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
#[get("/delay/<seconds>")]
|
||||||
|
async fn delay(seconds: u64) -> String {
|
||||||
|
sleep(Duration::from_secs(seconds)).await;
|
||||||
|
format!("Waited for {} seconds", seconds)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[rocket::main]
|
||||||
|
async fn main() -> Result<(), rocket::Error> {
|
||||||
|
let _rocket = rocket::build()
|
||||||
|
.mount("/", routes![index, delay, hello, form])
|
||||||
|
.attach(Template::fairing())
|
||||||
|
.launch()
|
||||||
|
.await?;
|
||||||
|
Ok(())
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
© Local Driver Technologies, Inc.
|
@ -0,0 +1,3 @@
|
|||||||
|
<nav>
|
||||||
|
<a href="/">Home</a>
|
||||||
|
</nav>
|
@ -0,0 +1,9 @@
|
|||||||
|
{% extends "master" %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>Hello world, {{ name }}</h1>
|
||||||
|
<ul>
|
||||||
|
{% for n in note %}
|
||||||
|
<li>{{ n.title }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>{{ title }} | example.org</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
{% include "header" %}
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
{% include "footer" %}
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in new issue