index {
text(":3\nwelcome to the root")
}
hello() {
response("Hello World!", "text", 200)
}
#[route("/example")]
example() {
html(http::get("https://example.org").body)
}
#[route("/db")]
db() {
let db = kv::load("test.db");
db.set("some.key", json::dump(#{name: "John", id: 50}));
let data = json::parse(db.get("some.key"));
json(data)
}
#[route("/example/{id}.txt")]
example(id) {
text("base: " + id)
}
#[route("/example/{id}/test")]
example_test(id) {
text("sub: " + id)
}
#[route("/name/{id}/{name}")]
name(id, name) {
json(#{name: name, id: id})
}
example/json() {
let res = http::get("https://httpbin.org/json");
let body = #{
response: res.json(),
info: #{
length: res.length,
status: res.status,
error: res.error,
body: res.body,
},
};
json(body)
}
example/post/bin() {
let body = #{
hello: "world",
url: url,
};
json(http::post("https://httpbin.org/post", body).raw())
}
test.json() {
let res = #{
hello: "world",
info: #{
path: request.path,
url: request.url,
ver: request.version,
query: request.query,
}
};
json(res)
}
test/loadfile() {
let file = open_file("test.html");
html(file.read_string())
}
// remove to test 404 route
* {
text("this is a wildcard route\ncurrently on: " + path)
}
404 {
text("404 page")
}