Crates.io | server_nano |
lib.rs | server_nano |
version | 0.2.1 |
source | src |
created_at | 2023-04-06 16:02:36.963446 |
updated_at | 2024-04-04 23:51:45.949518 |
description | A fast and lightweight HTTP server implementation in Rust. |
homepage | |
repository | https://github.com/jonataslaw/server_nano |
max_upload_size | |
id | 832293 |
size | 60,087 |
A tiny, fast, and friendly web server written in rust and inspired by express. It uses may to coroutines and is one of the fastest (unix) servers today.
First, add this to your Cargo.toml
:
[dependencies]
server_nano = "0.1.4"
Now, you can write you server
use server_nano::{json, Server};
fn main() {
let mut app = Server::new();
app.get("/", |_, res| res.send("welcome to home page!"));
app.get("/user/:id", |req, res| {
let user_id = req.parameter("id").unwrap();
let json_value = json!({ "username": user_id });
res.json(&json_value)
});
app.get("/product/:name", |req, res| {
let product_name = req.parameter("name").unwrap();
let message = &format!("Welcome to product page of product: {}", product_name);
res.send(message)
});
app.post("/test", |_, res| res.send("test!"));
app.post("/settings", |req, res| {
let json_body = req.json_body().unwrap();
let response = json!({
"success": true,
"message": "Settings updated successfully",
"body": json_body
});
res.json(&response)
});
app.listen("127.0.0.1:8080").unwrap();
}