About this document
Here are some conventions used throughout these docs.
usedeclarations are listed only on the first usage of a given type, to keep code samples concise.- Inline code like
|conn: Conn| async move { conn }uses short, unqualified paths. - Footnotes look like this1.
- Informational asides:
âšī¸ Fun fact: facts are fun
- Advanced asides for library authors and edge cases:
đ§âđ The
Handlertrait provides several lifecycle hooks beyondrun - Comparisons with Elixir's Plug and Phoenix (a primary architectural inspiration):
đ Halting a plug looks like
conn |> halt(Elixir); the Trillium equivalent isconn.halt()
Who is this document for?â
This document expects some familiarity with async Rust. If you're new to async Rust, the Rust Book and the Async Book are good starting points.
It also assumes general web development familiarity â HTTP, request/response cycles, and what middleware means in a web framework context.