9 releases (4 breaking)
0.5.0 | Sep 3, 2024 |
---|---|
0.4.0 | Sep 1, 2024 |
0.3.1 | Mar 5, 2024 |
0.2.4 | Mar 4, 2024 |
0.1.0 | Dec 9, 2023 |
#410 in HTTP server
60KB
1.5K
SLoC
barebones http scripting
Overview
Define routes on runtime and execute scripts associated with each route. The server supports fetching data, for proxy purposes.
Usage
// the index route
index {
text(":3\nwelcome to the root")
}
// this is /hello
hello() {
text("Hello World!")
}
// get data from another website, then return as json
tests/fetch() {
json(http::get("https://httpbin.org/json").json())
}
// route placeholders
#[route("/example/{id}")]
example(id) {
text("base: " + id)
}
For more syntax, check out app.routes
# Start the server
script start <filename>
For more commands, check out script --help
Installation
Pre-built binaries for Linux, MacOS, and Windows can be found on the releases page.
Install from crates.io using cargo install script
Building
- Clone the project
- Open a terminal in the project folder
- Check if you have cargo (Rust's package manager) installed, just type in
cargo
- If cargo is installed, run
cargo build --release
- Put the executable into one of your PATH entries, usually
/bin/
or/usr/bin/
Dependencies
~62MB
~1M SLoC