axum/examples
David Pedersen be624306f4
Only allow last extractor to mutate the request (#1272)
* Only allow last extractor to mutate the request

* Change `FromRequest` and add `FromRequestParts` trait (#1275)

* Add `Once`/`Mut` type parameter for `FromRequest` and `RequestParts`

* 🪄

* split traits

* `FromRequest` for tuples

* Remove `BodyAlreadyExtracted`

* don't need fully qualified path

* don't export `Once` and `Mut`

* remove temp tests

* depend on axum again

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* Port `Handler` and most extractors (#1277)

* Port `Handler` and most extractors

* Put `M` inside `Handler` impls, not trait itself

* comment out tuples for now

* fix lints

* Reorder arguments to `Handler` (#1281)

I think `Request<B>, Arc<S>` is better since its consistent with
`FromRequest` and `FromRequestParts`.

* Port most things in axum-extra (#1282)

* Port `#[derive(TypedPath)]` and `#[debug_handler]` (#1283)

* port #[derive(TypedPath)]

* wip: #[debug_handler]

* fix #[debug_handler]

* don't need itertools

* also require `Send`

* update expected error

* support fully qualified `self`

* Implement FromRequest[Parts] for tuples (#1286)

* Port docs for axum and axum-core (#1285)

* Port axum-extra (#1287)

* Port axum-extra

* Update axum-core/Cargo.toml

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* remove `impl FromRequest for Either*`

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* New FromRequest[Parts] trait cleanup (#1288)

* Make private module truly private again

* Simplify tuple FromRequest implementation

* Port `#[derive(FromRequest)]` (#1289)

* fix tests

* fix docs

* revert examples

* fix docs link

* fix intra docs links

* Port examples (#1291)

* Document wrapping other extractors (#1292)

* axum-extra doesn't need to depend on axum-core (#1294)

Missed this in https://github.com/tokio-rs/axum/pull/1287

* Add `FromRequest` changes to changelogs (#1293)

* Update changelog

* Remove default type for `S` in `Handler`

* Clarify which types have default types for `S`

* Apply suggestions from code review

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* remove unused import

* Rename `Mut` and `Once` (#1296)

* fix trybuild expected output

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
customize-path-rejection Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
error-handling-and-dependency-injection Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
key-value-store Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
sqlx-postgres Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
tokio-postgres Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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 Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02:00
versioning Only allow last extractor to mutate the request (#1272) 2022-08-22 12:23:20 +02: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.