Tide
API Docs | Contributing | Chat
About
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.
Examples
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.serve("127.0.0.1:8000")?)
}
More Examples
Resources
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
Supported Rust Versions
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.
Contributing
Want to join us? Check out our The "Contributing" section of the guide and take a look at some of these issues:
Conduct
The Tide project adheres to the Contributor Covenant Code of Conduct. This describes the minimum behavior expected from all contributors.
License
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.
Contribution
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.