9 releases
0.0.9 | Nov 1, 2022 |
---|---|
0.0.8 | Mar 1, 2022 |
0.0.7 | Feb 20, 2022 |
0.0.5 | Jul 16, 2021 |
0.0.4 | Feb 22, 2021 |
#1451 in HTTP server
32 downloads per month
62KB
1.5K
SLoC
Highnoon
A minimal web framework built on Hyper
This is a very early development release. While I'm pretty happy with the API so far, anything could change.
To get started first implement the State
trait which holds all data shared by
all the route handlers. This trait contains a single method to get a new
Context
which is the data shared for the duration of a single request.
Context
is generally used for sharing data between filters.
struct MyState;
impl highnoon::State for MyState {
type Context = ();
fn new_context(&self) -> Context {
()
}
}
Then create an App
with your State
, attach filters and routes
and launch the server.
#[tokio::main]
async fn main() -> highnoon::Result<()> {
let mut app = highnoon::App::new(MyState);
app.with(highnoon::filter::Log);
app.at("/hello").get(|_request| async {
"Hello world!\n\n"
});
app.listen("0.0.0.0:8888").await?;
Ok(())
}
Dependencies
~12–22MB
~309K SLoC