rocket 0.4.0-rc.1

Web framework for nightly with a focus on ease-of-use, expressibility, and speed.

Rocket - Core API Documentation

Hello, and welcome to the core Rocket API documentation!

This API documentation is highly technical and is purely a reference. There's an overview of Rocket on the main site as well as a full, detailed guide. If you'd like pointers on getting started, see the quickstart or getting started chapters of the guide.

You may also be interested in looking at the rocket_contrib documentation, which contains automatic JSON (de)serialiazation, templating support, static file serving, and other useful features.


Rocket's functionality is split into two crates:

  1. Core - This core library. Needed by every Rocket application.
  2. Contrib - Provides useful functionality for many Rocket applications. Completely optional.


First, depend on rocket in Cargo.toml:

rocket = "0.4.0-rc.1"

Then, add the following to the top of your file:

#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;
# #[get("/")] fn hello() { }
# fn main() { rocket::ignite().mount("/", routes![hello]); }

See the guide for more information on how to write Rocket applications. Here's a simple example to get you started:

#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

fn hello() -> &'static str {
    "Hello, world!"

fn main() {
# if false { // We don't actually want to launch the server in an example.
    rocket::ignite().mount("/", routes![hello]).launch();
# }


Rocket and Rocket libraries are configured via the Rocket.toml file and/or ROCKET_{PARAM} environment variables. For more information on how to configure Rocket, see the configuration section of the guide as well as the [config] module documentation.


The [local] module contains structures that facilitate unit and integration testing of a Rocket application. The top-level [local] module documentation and the testing chapter of the guide include detailed examples.