tsukuyomi 0.1.4

A next generation Web framework for Rust
Documentation

Tsukuyomi

Build Status Build status Coverage Status Docs.rs Gitter

Tsukuyomi is a next generation Web framework for Rust.

The Goal of This Project

The ultimate goal of this project is to provide a Web framework for developing the asynchronous and fast Web services, with the help of ecosystem of Rust for asynchronous network services like Tokio and Hyper.

Features

  • Supports HTTP/1.x and HTTP/2.0 protocols, based on Hyper 0.12
  • Basic support for HTTP/1.1 protocol upgrade
  • TLS support by using rustls
  • Support for both TCP and Unix domain socket
  • Custom error handling
  • Basic support for Cookie management
  • Middleware support
  • Cookie based session management

The following features does not currently implemented but will be supported in the future version:

  • Custom session storage
  • Authentication
  • Embedded WebSocket handling

Example

extern crate tsukuyomi;

use tsukuyomi::App;
use tsukuyomi::future::ready;

fn main() -> tsukuyomi::AppResult<()> {
    let app = App::builder()
        .mount("/", |r| {
            r.get("/", |_cx| ready("Hello, world!\n"));
        })
        .finish()?;

    tsukuyomi::run(app);
}

More examples are located in examples/.

Documentation

License

MIT + Apache 2.0