Sailboat
The problem
The rust http server framework genre seems to be filled with a large overuse of macros to produce framework structures that are essentially a sub-language of rust.
The solution
Sailboat is focused on simplicity while still maintaining speed. This library avoids complex, unclear, or otherwise unnecessary macros preferring instead to write (at times) more verbose yet clear; clean code.
Checklist
Order of tasks not necessarily in order of completion
-
Basic routing
-
URL parameters
-
Multithreading responses
-
Application wide resources/context
-
Websockets
-
Move to async
-
Ssl/Https
-
Optimizations
-
Custom Http implementation
Example
Run examples using cargo run --example example_name
A basic hello world program using sailboat:
use ;
type Data = ;
async
Performance
On my personal computer using wrk -t 4 -c 4
A basic hello_world example revealed the following
- sailboat: ~240k req/sec
- actix: ~280k req/sec
- tiny_http: ~280k req/sec
- rouille: ~80k req/sec
Documentation
This crate aims to be 100% fully documented.
Licensing
See LICENSE-MIT