Haro
Haro is a simple and synchronous web framework written in and for Rust.
The project was named after the Haro character. The application interface was inspired by the web.py project.
Motivation
In short, async Rust is more difficult to use and can result in a higher maintenance burden than synchronous Rust, but gives you best-in-class performance in return. All areas of async Rust are constantly improving, so the impact of these issues will wear off over time
https://rust-lang.github.io/async-book/01_getting_started/03_state_of_async_rust.html
As the async book says, async Rust is not mature yet. While bringing performance, it also results in a higher maintenance burden. The goal of this project is to create a simple and minimum synchronous Web framework for Rust.
Quick Start
Add haro as a dependency by cargo
Then, on your main.rs:
use ;
use json;
{
}
More Examples
The repo contains more examples that show how to put all the pieces together.
Features
- URL Routing with plain fn pointer
- Request & Response with minimal boilerplate
- Query args
- Post data
- JSON
- Cookie
- Middleware
- Template (Optional)
- Database (Optional)
- Tests
- HTTP2
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.