Velen

Just another REST framework

How to use

Import

use velen::{server::createserver, servermodels::{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.tostring());
}
fn posthandler(req: 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: format!("Received query parameters x={:?}, y={:?}", req.queryparams.get("x").unwrap(), req.queryparams.get("y").unwrap()),
    };
    res.send(goodresponse.tostring());
}

Limitations