rwf2/Rocket

A web framework for Rust.

Rust

25,780

2,366 commits

updated Dec 28, 2025

See the code

README

Rocket

Build Status Rocket Homepage Current Crates.io Version Matrix: #rocket:mozilla.org

Rocket is an async web framework for Rust with a focus on usability, security, extensibility, and speed.

#[macro_use] extern crate rocket;

#[get("/<name>/<age>")]
fn hello(name: &str, age: u8) -> String {
    format!("Hello, {} year old named {}!", age, name)
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/hello", routes![hello])
}

Visiting localhost:8000/hello/John/58, for example, will trigger the hello route resulting in the string Hello, 58 year old named John! being sent to the browser. If an <age> string was passed in that can't be parsed as a u8, the route won't get called, resulting in a 404 error.

Documentation

Rocket is extensively documented:

Documentation for the master branch is available at https://rocket.rs/master and https://api.rocket.rs/master.

Documentation for major release version ${x} is available at https://[api.]rocket.rs/v${x}. For example, the v0.4 docs are available at https://rocket.rs/v0.4 and https://api.rocket.rs/v0.4.

Finally, API docs for active git branches are available at https://api.rocket.rs/${branch}. For example, API docs for the master branch are available at https://api.rocket.rs/master. Branch rustdocs are built and deployed on every commit.

Examples

The examples directory contains complete crates that showcase Rocket's features and usage. Each example can be compiled and run with Cargo. For instance, the following sequence of commands builds and runs the hello example:

cd examples/hello
cargo run

Getting Help

If you find yourself needing help outside of the documentation, you may:

Contributing

Contributions are absolutely, positively welcomed and encouraged! If you're interested in contributing code, please first read CONTRIBUTING for complete guidelines. Additionally, you could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Answers questions in GitHub discussions questions.
  5. Share a project in GitHub discussions show & tell.

License

Rocket is licensed under either of the following, at your option:

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Rocket by you shall be dual licensed under the MIT License and Apache License, Version 2.0, without any additional terms or conditions.

The Rocket website docs are licensed under separate terms. Any contribution intentionally submitted for inclusion in the Rocket website docs by you shall be licensed under those terms.

framework
rocket
rust
web
web-development
web-framework

rwf2/Rocket

A web framework for Rust.

Rust

25,780

2,366 commits

updated Dec 28, 2025

See the code

README

Rocket

Build Status Rocket Homepage Current Crates.io Version Matrix: #rocket:mozilla.org

Rocket is an async web framework for Rust with a focus on usability, security, extensibility, and speed.

#[macro_use] extern crate rocket;

#[get("/<name>/<age>")]
fn hello(name: &str, age: u8) -> String {
    format!("Hello, {} year old named {}!", age, name)
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/hello", routes![hello])
}

Visiting localhost:8000/hello/John/58, for example, will trigger the hello route resulting in the string Hello, 58 year old named John! being sent to the browser. If an <age> string was passed in that can't be parsed as a u8, the route won't get called, resulting in a 404 error.

Documentation

Rocket is extensively documented:

Documentation for the master branch is available at https://rocket.rs/master and https://api.rocket.rs/master.

Documentation for major release version ${x} is available at https://[api.]rocket.rs/v${x}. For example, the v0.4 docs are available at https://rocket.rs/v0.4 and https://api.rocket.rs/v0.4.

Finally, API docs for active git branches are available at https://api.rocket.rs/${branch}. For example, API docs for the master branch are available at https://api.rocket.rs/master. Branch rustdocs are built and deployed on every commit.

Examples

The examples directory contains complete crates that showcase Rocket's features and usage. Each example can be compiled and run with Cargo. For instance, the following sequence of commands builds and runs the hello example:

cd examples/hello
cargo run

Getting Help

If you find yourself needing help outside of the documentation, you may:

Contributing

Contributions are absolutely, positively welcomed and encouraged! If you're interested in contributing code, please first read CONTRIBUTING for complete guidelines. Additionally, you could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Answers questions in GitHub discussions questions.
  5. Share a project in GitHub discussions show & tell.

License

Rocket is licensed under either of the following, at your option:

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Rocket by you shall be dual licensed under the MIT License and Apache License, Version 2.0, without any additional terms or conditions.

The Rocket website docs are licensed under separate terms. Any contribution intentionally submitted for inclusion in the Rocket website docs by you shall be licensed under those terms.

framework
rocket
rust
web
web-development
web-framework

Project health

crates.io

Latest release

0.5.1 · May 23, 2024

Releases this year

0

Significant stargazers

(top 24 of 326)

Luke Edwards

5,087 followers · starred Dec 2017

Taiki Endo

1,026 followers · starred Jan 2019

Volodymyr Agafonkin

6,260 followers · starred Jul 2020

Brian Anderson

2,521 followers · starred Feb 2017