Velen

Just another REST framework

How to use

Import

use velen::server::create_server;

use velen::models::server_models::{Request, Response};

Create server instance

let mut server = create_server();

Register endpoints

server.get("/get", get_handler);

server.post("/add", post_handler);

Start listening

server.listen("127.0.0.1", 3333, serverstarthandler);

Example handlers

fn gethandler(: Request, mut res: Response) {
    res.setstatuscode(200);
    res.setheader("Content-Type", "application/json");
    struct GoodResponse {
        message: String,
    }
    impl Display for GoodResponse {
        fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
            write!(f, "{{\"message\": \"{}\"}}", self.message)
        }
    }
    let goodresponse = GoodResponse {
        message: "I'm good, thank you very much Sir!".tostring(),
    };
    res.send(goodresponse.to_string());
}

Read Query Params

req.queryparams.get("userid").unwrap();

Read Request Header

req.headers.get("x-custom-header").unwrap();

Read Request Body

/* Velen does not deserialize request payload. Use of Serde is recommended. /*

req.body;

#### Set Response Status res.setstatuscode(200);

Set Response header

res.set_header("Content-Type", "application/json");

Set Response payload

res.send("{\"status\":\"ok\"}");

Limitations