API Docs | Contributing | Chat
A modular web framework built around async/await. It's actively being developed by the Rust Async Ecosystem WG, and not ready for production use yet.
Hello World
#![feature(async_await)]
fn main() -> Result<(), std::io::Error> {
let mut app = tide::App::new();
app.at("/").get(|_| async move { "Hello, world!" });
Ok(app.run("127.0.0.1:8000")?)
}
More Examples
Read about the design here:
- Rising Tide: building a modular web framework in the open
- Routing and extraction in Tide: a first sketch
- Middleware in Tide
- Tide's evolving middleware approach
Tide is built against the latest Rust nightly releases and as such, due to it's use of std
futures,
it has the following specific breakpoints that align with std future API changes:
Tide | Rust |
---|---|
≤ v0.1.0 | ≤ nightly-2019-04-07 |
≥ v0.1.1 | ≥ nightly-2019-04-08 |
Note: Since these are due to changes in std
, projects with dependencies that use conflicting versions of std::futures
will not build successfully.
Want to join us? Check out our The "Contributing" section of the guide and take a look at some of these issues:
The Tide project adheres to the Contributor Covenant Code of Conduct. This describes the minimum behavior expected from all contributors.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.