#rocket #web #framework #server

nightly rocket

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

42 releases

0.4.1 May 12, 2019
0.4.0 Dec 6, 2018
0.4.0-rc.1 Oct 31, 2018
0.3.15 Jul 16, 2018
0.1.3 Dec 31, 2016

#8 in HTTP server

Download history 2986/week @ 2019-01-27 3509/week @ 2019-02-03 3007/week @ 2019-02-10 3764/week @ 2019-02-17 3077/week @ 2019-02-24 3909/week @ 2019-03-03 3030/week @ 2019-03-10 2950/week @ 2019-03-17 3587/week @ 2019-03-24 4007/week @ 2019-03-31 4764/week @ 2019-04-07 4318/week @ 2019-04-14 3969/week @ 2019-04-21 3747/week @ 2019-04-28 3696/week @ 2019-05-05

15,650 downloads per month
Used in 97 crates (94 directly)


11K SLoC


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.1"

Then, add the following to the top of your main.rs 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.

Types that map to concepts in HTTP.

This module exports types that map to HTTP concepts or to the underlying HTTP library when needed.


~134K SLoC