A web framework built around Hyper.
Examples
Please note that none of these are tested due to Direkuta being a web sever.
If, for some reason, they don't work, have a look at the examples folder.
Simple
use direkuta::prelude::*;
Direkuta::new()
.route(|r| {
r.get("/", |_, _, _| {
Response::new().with_body("Hello World!").build()
});
})
.run("0.0.0.0:3000");
Tera Templates
extern crate direkuta;
use direkuta::prelude::*;sp
use direkuta::prelude::html::*;
fn main() {
Direkuta::new()
.route(|r| {
r.get("/", |_, s, _| {
Response::new().with_body(s
.get::<Tera>()
.render(Context::new(), "index.html")
.unwrap()).build()
});
}).run("0.0.0.0:3000");
}
JSON
extern crate direkuta;
#[macro_use]
extern crate serde_derive;
use direkuta::prelude::*;
#[derive(Serialize)]
struct Example {
hello: String,
}
fn main() {
Direkuta::new()
.route(|r| {
r.get("/", |_, _, _| {
Response::new().with_json(|j| {
j.body(Example {
hello: String::from("world"),
});
}).build()
});
}).run("0.0.0.0:3000");
}
Routing
extern crate direkuta;
use direkuta::prelude::*;
fn main() {
Direkuta::new()
.route(|r| {
r.get("/<name:(.+)>", |_, _, c| {
Response::new().with_body(c.get("name")).build()
});
}).run("0.0.0.0:3000");
}