# Maria.rs, a simple Rust framework like ExpressJs ## Why? - Maria is developed for web developers who switched to Rust from Nodejs, you can easily adapt Maria.rs code. ## what it includes? - [x] Router - [x] Json handle - [x] Handler - [x] Async - [x] Traits - [x] Multithreading ## Examples - Hello world example ```rust use maria::{ Request, Response, Router, handler, HandlerFn, Arc, Mutex}; #[tokio::main] async fn main(){ //defining first handler let home: HandlerFn = handler!(_req, res, { res.send_html("

Hello from Maria!

"); }); // init the router let mut router = Router::new(); // add our handler to router router.get("/", vec![home]); // that's it! router.listen(8080).await; } ``` # Release notes ## 0.8.1 ### Router.r#use added. - I can't name as Router.use because Rust already has a keyword as use. - But you can use with Router.r#use(); - Same as expressjs Router.use method. - You can define something for all methods and all paths - Example: - ```rs router.r#use(vec![handler!(_req,_res,{ println!("Something has came!"); })]); ``` - Also, readme updated with new handler! usage ## 0.8.0 ### New handler! macro for defining handlers, a quick header changes - now you can define a handler with using handler! macro example: - ```rust let home: HandlerFn = handler!(_req, res, { res.send_text("Hello world!"); }) ``` - 2 Examples added - Basic function documentation added - and that's done. also, documentation will come to next versions. ## 0.7.6 ### Path params wildcart added. - path params /:\*param_key added. - wildcart can take any of params - for example: file/:\*path -> file/folderpath/anotherfolder/file.txt - params: \*path: folderpath/anotherfolder/file.txt ## 0.7.5 ### A quick bugfix? - The problem is that it drains the routes when it goes into the handling function. - But the drain is getting all inside the vec into another vec. - So this problem causes 404 after getting a response in route. - Also deleted a small debug log. ## 0.7.4 ### Ready to release! - New closure type handlers. - Some quick deadlock fixes. - Fully multithreded. - Cargo.toml ready to be publish! - Some warning fixes.