Skip to content

Commit

Permalink
Improve docs regarding state and extensions (#2991)
Browse files Browse the repository at this point in the history
Co-authored-by: David Mládek <david.mladek.cz@gmail.com>
  • Loading branch information
2 people authored and jplatte committed Nov 14, 2024
1 parent b30cdcf commit 8bc326c
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
10 changes: 2 additions & 8 deletions axum/src/docs/routing/with_state.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Provide the state for the router.
Provide the state for the router. State passed to this method is global and will be used
for all requests this router receives. That means it is not suitable for holding state derived from a request, such as authorization data extracted in a middleware. Use [`Extension`] instead for such data.

```rust
use axum::{Router, routing::get, extract::State};
Expand Down Expand Up @@ -94,13 +95,6 @@ axum::serve(listener, routes).await.unwrap();
# };
```

# State is global within the router

The state passed to this method will be used for all requests this router
receives. That means it is not suitable for holding state derived from a
request, such as authorization data extracted in a middleware. Use [`Extension`]
instead for such data.

# What `S` in `Router<S>` means

`Router<S>` means a router that is _missing_ a state of type `S` to be able to
Expand Down
4 changes: 4 additions & 0 deletions axum/src/extract/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ use std::{
/// See ["Accessing state in middleware"][state-from-middleware] for how to
/// access state in middleware.
///
/// State is global and used in every request a router with state receives.
/// For accessing data derived from requests, such as authorization data, see [`Extension`].
///
/// [state-from-middleware]: crate::middleware#accessing-state-in-middleware
/// [`Extension`]: crate::Extension
///
/// # With `Router`
///
Expand Down

0 comments on commit 8bc326c

Please sign in to comment.