Commit Graph
245 Commits
Author SHA1 Message Date
David Pedersen b1b0e45683 Remove sessions example
There are better libraries these days for doing sessions with axum. So
think this example was just causing more confusion than helping.
2023-07-01 23:12:20 +02:00
Alex ButlerandDavid Pedersen 26daec2b17 Update tokio-tungstenite to 0.19 (#2021)
Co-authored-by: David Pedersen <[email protected]>
2023-06-23 00:03:30 +02:00
David Pedersen b7665b209a Fix CI (#2054) 2023-06-22 23:20:46 +02:00
Jerry Wang 7208cdf795 Fix the cargo hack check (#2013) 2023-05-18 18:40:19 +00:00
David Pedersen db300efc33 Remove impl Connected<&AddrStream> for SocketAddr (#1954) 2023-04-21 18:24:47 +02:00
877e3fe4de Move TypedHeader to axum-extra (#1850)
Co-authored-by: Michael Scofield <[email protected]>
Co-authored-by: Jonas Platte <[email protected]>
2023-04-21 17:45:31 +02:00
David Pedersen c97967252d Add serve function and remove Server re-export (#1868) 2023-04-21 17:45:31 +02:00
6703f8634c Remove B type param: Follow ups (#1789)
Co-authored-by: Jonas Platte <[email protected]>
Co-authored-by: Michael Scofield <[email protected]>
2023-04-21 17:45:31 +02:00
4e4c29175f Remove B type param (#1751)
Co-authored-by: Jonas Platte <[email protected]>
Co-authored-by: Michael Scofield <[email protected]>
2023-04-21 17:45:31 +02:00
David Pedersen 39bb28130d Enable println warning (#1929) 2023-04-14 22:26:56 +02:00
David Pedersen 6b106f4bab Log built-in rejections (#1890) 2023-04-11 16:57:49 +02:00
David Pedersen 24f8dc53f4 Update rest-grpc-multiplex example to include reflection (#1902) 2023-04-01 20:49:36 +02:00
Georg SemmlerandDavid Pedersen 9da1897688 Add a diesel and diesel-async example (#1853)
Co-authored-by: David Pedersen <[email protected]>
2023-03-28 17:32:00 +02:00
Jonas Platte 2600c22703 Make tracing-aka-logging example more realistic (#1869) 2023-03-21 11:17:31 +01:00
David Pedersen 8e1eb8979f Update to syn 2 (#1862) 2023-03-18 19:23:27 +00:00
Jonas PlatteandDavid Pedersen dc480f7b0e Re-integrate examples into the root workspace (#1466)
Co-authored-by: David Pedersen <[email protected]>
2023-03-10 12:02:11 +01:00
FirstyearandDavid Pedersen e7eda0e416 Add low level OpenSSL example (#1828)
Co-authored-by: David Pedersen <[email protected]>
2023-03-10 08:51:45 +00:00
Moises-Herradon-CuetoandMoisesPotato 2c1dde7c07 Fix static-file-server example instructions (#1832)
Co-authored-by: MoisesPotato <[email protected]>
2023-03-10 09:51:22 +01:00
John DowneyandDavid Pedersen db22b7309d Remove remnants of spa feature (#1802)
Co-authored-by: David Pedersen <[email protected]>
2023-03-03 14:43:19 +00:00
David Pedersen 279a8e2bf0 Add example showing how to run axum on hyper 1.0 (#1791) 2023-02-26 19:05:12 +01:00
David Pedersen 1dc4b44472 Use JsonRejection::{status, body_text} in customize extractor error example (#1790) 2023-02-25 15:02:02 +01:00
David Pedersen 27f05ad32e Remove SpaRouter (#1784) 2023-02-25 11:05:23 +01:00
David Pedersen f726f16b6d Update to tower-http 0.4 (#1783) 2023-02-24 20:51:30 +00:00
David Pedersen 143c415955 Add MockConnectInfo (#1767) 2023-02-17 13:09:29 +01:00
FrankReh 6d815e2b0a Fix some comments in websockets example (#1702) 2023-01-20 14:43:47 +01:00
tottoto b07918b213 Update to tonic 0.8 (#1700) 2023-01-20 10:34:44 +01:00
David Pedersen 00d20eb007 Simpify parse-body-based-on-content-type example (#1697) 2023-01-14 18:39:09 +01:00
Alex PyattaevandDavid Pedersen 8d92902c8e Updated websocket example to improve clarity and to be more distinct from chat example (#1637)
Co-authored-by: David Pedersen <[email protected]>
2023-01-08 15:51:59 +00:00
David Pedersen 3d31bcb6fb Remove lingering async-graphql example file
It should have been deleted previously
2023-01-08 16:28:45 +01:00
Hans Meine 7192c590c9 add more comments to chat example (#1665) 2023-01-08 15:24:19 +00:00
Lukas Kalkhoran 71e83291e1 Fix typo (#1646) 2022-12-16 10:16:09 +00:00
tottoto 6c133be5b7 Refactor initializing tracing-subscriber in examples (#1596)
* Refactor initializing tracing-subscriber

* Revert "Refactor initializing tracing-subscriber"

This reverts commit 0876260bf9 in favor of tracing_subscriber::registry.

* Use EnvFilter::try_from_default_env in chat example

* Use EnvFilter::try_from_default_env in examples
2022-11-30 10:46:19 +01:00
tottoto 2c74c538dd Fix clippy warning in example (#1597) 2022-11-29 23:39:11 +00:00
David Pedersen 0b26411f39 Change Router::with_state and impl Service for Router<()> (#1552)
* Implement `Service` for `Router<(), B>`

* wip

* wip

* fix some tests

* fix examples

* fix doc tests

* clean up docs

* changelog

* fix

* also call `with_state` when converting `MethodRouter` into a `MakeService`

* suggestions from review
2022-11-24 14:43:10 +00:00
David Pedersen 468985373a Add example of how to test WebSockets (#1535) 2022-11-18 15:40:21 +01:00
David Pedersen 64960bb19c Type safe state inheritance (#1532)
* Make state type safe

* fix examples

* remove unnecessary `#[track_caller]`s

* Router::into_service -> Router::with_state

* fixup docs

* macro docs

* add missing docs

* fix examples

* format

* changelog

* Update trybuild tests

* Make sure fallbacks are still inherited for opaque services (#1540)

* Document nesting routers with different state

* fix leftover conflicts
2022-11-18 11:02:58 +00:00
David Pedersen 2e8a7e51a1 Fix Handler::with_state not working if request body was changed via layer (#1536)
Previously

```rust
handler.layer(RequestBodyLimitLayer::new(...)).with_state(...)
```

didn't work because we required the same request body all the way
through.
2022-11-18 11:00:52 +01:00
Konstantin KostiukandDavid Pedersen 8d6313afa0 Add example of static-file-server using serve dir with handler as service (#1501)
* add example of static-file-seriver using serve dit with handler as service

* update handle return type in example

Co-authored-by: David Pedersen <[email protected]>

* cargo fmt fix

* change error mapping

Co-authored-by: David Pedersen <[email protected]>
2022-11-08 20:40:20 +01:00
David Pedersen 199a7a66b8 Expand static file serving example (#1471) 2022-10-11 07:42:48 +00:00
Valentin Brandl ee0b71a4ac Start second server on different port for metrics endpoint (#1444)
* Start second server on different port for metrics endpoint

* Don't track metrics on metrics server
2022-10-08 01:28:32 +02:00
Jonas Platte a7d8954178 Use RequestPartsExt more in docs / examples (#1445)
* Use RequestPartsExt more in docs / examples

* Remove unused import
2022-10-04 17:26:51 +00:00
Horu a3c58a18ed Fix typo in example (#1439) 2022-10-01 13:49:15 +00:00
31638a2b22 Add tokio feature & make tokio optional for WASM support (#1382)
* add server feature and make tokio and hyper/server and tcp optional

* address review comments

* don't mention any specific runtimes in the example

* sort deps

* add `tokio` feature when adding `ws`

* don't always pull in tower feature that pulls in tokio io stuff

* remove usage of `tokio_cr`

* changelog

* depend on tokio version that supports wasm

* don't make it sound like tokio doesn't support wasm

* call out new default feature

Co-authored-by: Fisher Darling <[email protected]>
Co-authored-by: David Pedersen <[email protected]>
2022-09-25 15:10:33 +00:00
Jonas Platte 4847d681b1 Allow Routers to inherit state (#1368)
* Rename Fallback::Custom to Fallback::Service

* Allow Routers to inherit state

* Rename Router::{nest => nest_service} and add new nest method for Routers

* Fix lints

* Add basic tests for state inheritance

* Changelog
2022-09-25 11:56:23 +00:00
Marek KuskowskiandDavid Pedersen 896ffc5fba Remove ContentLengthLimit (#1400)
* feat: remove ContentLengthLimit

* feat: remove ContentLengthLimit rejections

* fix: update multipart docs

* fix: typo

* feat: add wip extractor code

* feat: revert "feat: add wip extractor code"

* fix: update Multipart docs

* fix: update examples

* fix: missing import in an example

* fix: broken import yet again

* fix: disable default body limit for example

* fix: key value store example

* fix: update expected debug_handler output

* chore: update CHANGELOG

* Update axum/CHANGELOG.md

Co-authored-by: David Pedersen <[email protected]>
2022-09-24 11:29:53 +00:00
Jonas Platte 69d64cecc3 Split RouterService off of Router (#1381) 2022-09-22 12:10:55 +02:00
David Pedersen 112f5354ab Add example showing how to return anyhow::Errors (#1398) 2022-09-19 20:42:08 +00:00
David PedersenandJonas Platte 6d7c277700 Add example for parsing body based on Content-Type (#1320)
* Add example for parsing body based on `Content-Type`

* format

* Update examples/parse-body-based-on-content-type/src/main.rs

Co-authored-by: Jonas Platte <[email protected]>

* fix copy/paste errors

* rename type params

Co-authored-by: Jonas Platte <[email protected]>
2022-08-25 16:04:54 +02:00
David PedersenandJonas Platte 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 <[email protected]>

* 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 <[email protected]>

* remove `impl FromRequest for Either*`

Co-authored-by: Jonas Platte <[email protected]>

* 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 <[email protected]>

Co-authored-by: Jonas Platte <[email protected]>

* remove unused import

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

* fix trybuild expected output

Co-authored-by: Jonas Platte <[email protected]>
2022-08-22 12:23:20 +02:00
David Pedersen 79f6aabd02 Make extractor field public in example 2022-08-19 22:38:46 +02:00