12 releases

0.2.0 Oct 13, 2024
0.1.13 Sep 28, 2024
0.1.10 Aug 21, 2024
0.1.8 Jul 15, 2024
0.1.5 Jun 20, 2024

#425 in HTTP server

Download history 115/week @ 2024-07-13 6/week @ 2024-07-20 35/week @ 2024-07-27 89/week @ 2024-08-03 32/week @ 2024-08-10 125/week @ 2024-08-17 13/week @ 2024-08-24 130/week @ 2024-08-31 14/week @ 2024-09-07 25/week @ 2024-09-14 176/week @ 2024-09-21 204/week @ 2024-09-28 12/week @ 2024-10-05 192/week @ 2024-10-12 13/week @ 2024-10-19

225 downloads per month

MIT license

100KB
1.5K SLoC

Krustie - A Basic Backend Framework

github crates.io docs.rs build status

Krustie is a simple backend framework. It is designed to be a easy-to-use HTTP web server that can be used for a variety of purposes. Krustie's error-proof design aims to make it harder to write bugs.

Krustie is still in the early stages of development and is not yet ready for production use. The API is subject to change and there may be bugs or missing features.

Features

  • Router with support for parameter and query string parsing
  • Middleware support for routers and endpoints
  • Minimal testing support
  • JSON data parsing and serialization (using the serde library)

Built-in Middlewares

  • Static file serving
  • Rate limiting
  • Gzip compression

Start your server

use krustie::{ Router, Server, StatusCode };

fn main() {
    let mut server = Server::create();
    let mut router = Router::new();

    router.get("/", |_, res| {
        res.status(StatusCode::Ok).body_text("Hello World!");
    });

    server.use_handler(router);

    server.listen(8080);
}

Contributing

All contributions are welcomed. Please open an issue or a pull request to report a bug or request a feature.

Dependencies

~3–4.5MB
~80K SLoC