axum/examples
David Pedersen 423308de3c
Add type safe state extractor (#1155)
* begin threading the state through

* Pass state to extractors

* make state extractor work

* make sure nesting with different states work

* impl Service for MethodRouter<()>

* Fix some of axum-macro's tests

* Implement more traits for `State`

* Update examples to use `State`

* consistent naming of request body param

* swap type params

* Default the state param to ()

* fix docs references

* Docs and handler state refactoring

* docs clean ups

* more consistent naming

* when does MethodRouter implement Service?

* add missing docs

* use `Router`'s default state type param

* changelog

* don't use default type param for FromRequest and RequestParts

probably safer for library authors so you don't accidentally forget

* fix examples

* minor docs tweaks

* clarify how to convert handlers into services

* group methods in one impl block

* make sure merged `MethodRouter`s can access state

* fix docs link

* test merge with same state type

* Document how to access state from middleware

* Port cookie extractors to use state to extract keys (#1250)

* Updates ECOSYSTEM with a new sample project (#1252)

* Avoid unhelpful compiler suggestion (#1251)

* fix docs typo

* document how library authors should access state

* Add `RequestParts::with_state`

* fix example

* apply suggestions from review

* add relevant changes to axum-extra and axum-core changelogs

* Add `route_service_with_tsr`

* fix trybuild expectations

* make sure `SpaRouter` works with routers that have state

* Change order of type params on FromRequest and RequestParts

* reverse order of `RequestParts::with_state` args to match type params

* Add `FromRef` trait (#1268)

* Add `FromRef` trait

* Remove unnecessary type params

* format

* fix docs link

* format examples

* Avoid unnecessary `MethodRouter`

* apply suggestions from review

Co-authored-by: Dani Pardo <dani.pardo@inmensys.com>
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-08-17 15:13:31 +00:00
..
async-graphql Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
chat Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
consume-body-in-extractor-or-middleware Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
cors Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
customize-extractor-error Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
customize-path-rejection Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
error-handling-and-dependency-injection Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
form Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
global-404-handler Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
graceful-shutdown Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
handle-head-request Add an example for head request (#1189) 2022-07-26 20:19:03 +02:00
hello-world Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
http-proxy Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
jwt Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
key-value-store Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
listen-multiple-addrs Add example for multiple listen addrs (#1179) 2022-07-20 18:33:12 +00:00
low-level-rustls Improve performance in low-level-rustls example (#1254) 2022-08-12 11:57:59 +00:00
multipart-form Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
oauth Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
print-request-response Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
prometheus-metrics Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
query-params-with-empty-strings Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
readme Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
rest-grpc-multiplex Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
reverse-proxy Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
routes-and-handlers-close-together Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
sessions Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
sqlx-postgres Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
sse Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
static-file-server Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
stream-to-file Fix comment typos in stream-to-file example (#1200) 2022-07-27 11:10:00 +00:00
templates Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
testing test: use ready() and call() to avoid using clone() (#1176) 2022-07-20 12:19:15 +00:00
tls-rustls Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
todos Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
tokio-postgres Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
tracing-aka-logging Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
unix-domain-socket Bump MSRV to 1.56 and update to the 2021 edition (#1098) 2022-06-17 20:11:35 +02:00
validator Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
versioning Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
websockets Add type safe state extractor (#1155) 2022-08-17 15:13:31 +00:00
Cargo.toml Replace async-graphql with link to async-graphql's own examples (#1234) 2022-08-09 14:56:50 +00:00
README.md Restructure community showcase (#454) 2021-11-03 09:20:01 +01:00

Examples

This folder contains numerous example showing how to use axum. Each example is setup as its own crate so its dependencies are clear.

For a list of what the community built with axum, please see the list here.