[][src]Crate rocket

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.

Libraries

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.

Usage

First, depend on rocket in Cargo.toml:

[dependencies]
rocket = "0.4.0"

Then, add the following to the top of your main.rs file:

#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

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;

#[get("/")]
fn hello() -> &'static str {
    "Hello, world!"
}

fn main() {
    rocket::ignite().mount("/", routes![hello]).launch();
}

Configuration

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.

Testing

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.

Modules

config

Application configuration and configuration parameter retrieval.

data

Types and traits for handling incoming body data.

error

Types representing various errors that can occur in a Rocket application.

fairing

Fairings: callbacks at attach, launch, request, and response time.

handler

Types and traits for request and error handlers and their return values.

http

Types that map to concepts in HTTP.

local

Structures for local dispatching of requests, primarily for testing.

outcome

Success, failure, and forward handling.

request

Types and traits for request parsing and handling.

response

Types and traits to build and send responses.

Structs

Catcher

An error catching route.

Config

Structure for Rocket application configuration.

Data

Type representing the data in the body of an incoming request.

Request

The type of an incoming web request.

Response

A response, as returned by types implementing Responder.

Rocket

The main Rocket type: used to mount routes and catchers and launch the application.

Route

A route: a method, its handler, path, rank, and format/media type.

State

Request guard to retrieve managed state.

Enums

Outcome

An enum representing success (Success), failure (Failure), or forwarding (Forward).

Traits

Handler

Trait implemented by types that can handle requests.

Functions

custom

Alias to Rocket::custom(). Creates a new instance of Rocket with a custom configuration.

ignite

Alias to Rocket::ignite() Creates a new instance of Rocket.

Type Definitions

ErrorHandler

The type of an error handler.