Rocket/docs/outline.md

84 lines
4.0 KiB
Markdown

# This is an evolving outline for the guide.
**Introduction**: Overarching info about Rocket and the guide.
* **Foreword** - A bit about the guide.
* **Audience** - Who this guide is intended for.
* **Philosophy** - The ideas behind Rocket.
* **Outline** - An outline of the guide.
**Quickstart**: Super quick info cloning the repo and running the examples.
**Getting Started**: Overview of how to use Rocket with Rust.
* **Rust Nightly** - How to get Rust nightly and why Rocket needs it.
* **Cargo Project** - How to use Rocket in a Cargo project.
* **Project Organization** - Overview of the three crates: lib, codegen, contrib.
* **Running** - Running a Rocket application and what to expect.
* **Configuration** - How to configure Rocket.
* **Rocket.toml** - Syntax and semantics of the Rocket.toml file.
* **Environments** - Explanation and how to set.
* **Logging** - How logging in Rocket works.
**From Request to Response**: Overview of Rocket's request/response handling.
* **Routing** - How routing works in Rocket.
* **Request** - How request (pre)processing works.
* **Response** - How response (post) processing works.
**Routing**: How to route in Rocket.
* **Overview** - An overview of routes in Rocket.
* **Route Attributes** - Description, explanation, and how to use the attribute.
* **Path** - Explanation of the path argument.
* **Static Parameters** - Static segments in route path.
* **Dynamic Parameters** - Dynamic segments in route path.
* **Segment Parameters** - Segment.. segments in route path.
* **Query Params** - Query parameter in route path.
* **Format** - Explanation of the format attribute.
* **Data** - Exaplanation of the data attribute.
* **FromRequest Arguments** - Parameters derived from the request.
* **Mounting** - Mounting routes at a given path.
* **Collisions and Ranking** - Explains route collisions and ranking.
* **Responses** - Different types of outcomes and their meaning.
* **Complete** - What it means for a request to complete.
* **Forward** - What it means for a request to forward.
* **Catching Errors** - Explanation of catchers and their use.
* **Manual Routing** - How to route without using code generation.
**Request**
* **Overview** - An overview of the section.
* **Request Traits** - Explanation of traits used by request handlers.
* **FromParam** - Explanation of the FromParam trait.
* **FromSegments** - Explanation of the FromSegments trait.
* **FromRequest** - Explanation of the FromRequest trait.
* **FromData** - Explanation of the FromParam trait.
* **FromForm** - Explanation of the FromForm trait.
* **FromFormValue** - Explanation of the FromFormValue trait.
* **Data** - How Rocket makes handling streaming data easy.
* **JSON** - Taking in JSON.
* **Forms** - Handling url-encoded forms. Details in next section.
* **Forms** - How Rocket makes forms easy.
* **Custom Validation** - How to add custom validation to forms.
* **Query Params** - How to use/validate query params.
* **Cookies** - Using cookies.
* **Flash** - Using flash cookies.
* **Session** - Using sessions with a private key.
**Response**
* **Overview** - An overview of the section.
* **Responder Trait** - Explanation of the Responder trait and its instability.
* **Outcomes** - Different types of responder outcomes.
* **Success** - What it means for a responder to succeed.
* **Failure** - What it means for a responder to fail.k
* **Forward** - What it means for a responder to forward.
* **Simple Responses** - The simple response types Rocket provides.
* Redirect, StatusResponse, Failure, Content
* **NamedFile** - Explanation and use of the NamedFile responder.
* **Stream** - Explanation and use of the Stream response.
* **Flash** - Explanation and use of the Flash response.
* **JSON** - Explanation and use of the JSON responder.
* **Templating** - Templates in contrib.