13 releases

new 0.2.1 Dec 4, 2024
0.2.0 Oct 13, 2024
0.1.13 Sep 28, 2024
0.1.10 Aug 21, 2024
0.1.5 Jun 20, 2024

#264 in HTTP server

Download history 115/week @ 2024-08-16 24/week @ 2024-08-23 123/week @ 2024-08-30 21/week @ 2024-09-06 23/week @ 2024-09-13 170/week @ 2024-09-20 204/week @ 2024-09-27 19/week @ 2024-10-04 187/week @ 2024-10-11 19/week @ 2024-10-18 2/week @ 2024-11-01 1/week @ 2024-11-08 94/week @ 2024-11-29

96 downloads per month

MIT license

95KB
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

~2.8–4.5MB
~79K SLoC