1
0
Fork 0
mirror of https://github.com/tokio-rs/axum.git synced 2025-03-18 05:10:14 +01:00
Commit graph

1276 commits

Author SHA1 Message Date
David Pedersen
a30f123f35 Update changelog with 0.2.7 2021-10-07 17:11:08 +02:00
David Pedersen
ac291baaec
Fix dead code warnings () 2021-10-07 16:49:57 +02:00
David Pedersen
5dc5a7cb6e
Document debugging handler type errors with "axum-debug" ()
* Document debugging handler type errors with "axum-debug"

* Apply suggestions from code review

Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>

Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-10-07 15:33:49 +02:00
Jonas Platte
d29c1f26c2
Bump minimum version of async-trait ()
Older versions generate invalid code for Handler impls.
2021-10-06 20:46:10 +02:00
Eray Karatay
b7002f68d5
Update some examples () 2021-10-05 07:50:27 +02:00
David Pedersen
afabded385
Percent decode automatically in extract::Path ()
* Percent decode automatically in `extract::Path`

Fixes https://github.com/tokio-rs/axum/issues/261

* return an error if path param contains invalid utf-8

* Mention automatic decoding in the docs

* Update changelog: This is a breaking change

* cleanup

* fix tests
2021-10-02 14:04:29 +00:00
David Pedersen
2c2bcd7754 Update changelog 2021-10-02 15:48:52 +02:00
Jonas Platte
250ea0cfef
Make JSON and HTTP1 support optional ()
* Make json support an optional feature

* Fix Json type documentation

* Make hyper's http1 feature optional
2021-10-02 15:46:33 +02:00
David Pedersen
cc4ae6b297
Improve performance of BoxRoute ()
* Improve performance of `BoxRoute`

This is based on  but slightly shorter.

It removes the need for a `tower::buffer::Buffer` in `BoxRoute` which
improves performance.

* changelog

Co-authored-by: Programatik <programatik29@gmail.com>
2021-10-02 13:43:59 +00:00
David Pedersen
7fae35020a
Version 0.2.6 () 2021-10-02 11:33:52 +00:00
David Pedersen
038c17a514
Add Customizing extractor responses section to docs ()
Should make the example easier easier to find for some.
2021-10-02 11:19:32 +00:00
David Pedersen
f8154a088c
Add example showing up to customize extractor error ()
Lots have been asking about this so makes sense to have an example for.

Once this is merged I'll add a link to it in the docs.
2021-09-30 17:55:58 +00:00
LT
3adc8d733d
Add validator example () 2021-09-28 18:12:23 +02:00
LT
0b3ee5b2ce
Add graceful shutdown example () 2021-09-28 09:08:49 +00:00
David Pedersen
f3c155bf5b
Fix typo in StreamBody docs () 2021-09-22 14:20:43 +00:00
Imbolc
4be4e1d17c
Fix doc typo () 2021-09-22 14:07:26 +00:00
David Pedersen
48401f2c8d
Simplify macros for implementing Handler and FromRequest ()
Makes the generated docs nicer and avoids having a recursive macro.
2021-09-19 15:51:25 +00:00
David Pedersen
0b9e0c7508
Refactor internal testing setup ()
This changes the test setup to use our own client rather than using
reqwest directly. Allows us to add several quality of life features like
always unwrapping results.
2021-09-19 09:38:34 +00:00
David Pedersen
2a683417d1
Clarify what handler::any and service::any accepts ()
They only accept standard HTTP methods and don't think we can fix that
without breaking changes.

Fixes https://github.com/tokio-rs/axum/issues/289
2021-09-19 08:28:15 +00:00
David Pedersen
bb5bcab116
Version 0.2.5 ()
- Add accessors for `TypedHeaderRejection` fields ([])
- Improve docs for extractors ([])

[]: https://github.com/tokio-rs/axum/pull/317
[]: https://github.com/tokio-rs/axum/pull/327
2021-09-18 19:35:10 +02:00
David Pedersen
593e3e319a
Improve extractor docs ()
* Improve extractor docs

- Moves things from the `extract` module docs to the root module docs to
  make them more discoverable
- Adds section showing commonly used extractors
- More clarity around multiple extractors that mutate the request

* english...
2021-09-18 19:09:53 +02:00
Olivier Pinon
0c18caa10f
Add accessors to TypedHeaderRejection fields ()
Fixes 
2021-09-12 16:11:51 +00:00
Andrei Zolkin
9df57e6ff2
Migrate all examples to use std::env::var_os () 2021-09-12 17:39:43 +02:00
heliumbrain
3741e16cf2
Fix typos in docs ()
* Fix typo in docs

Typos for FromRequest

* One more typo
2021-09-12 14:25:25 +00:00
David Pedersen
4e088b40f6
Show how to configure TraceLayer ()
This isn't very obvious so makes sense to include in the example
2021-09-10 17:56:00 +00:00
David Pedersen
36665793c3
Version 0.2.4 ()
Contains some documentation improvements:

- Document using `StreamExt::split` with `WebSocket` ([])
- Document adding middleware to multiple groups of routes ([])

[]: https://github.com/tokio-rs/axum/pull/291
[]: https://github.com/tokio-rs/axum/pull/293
2021-09-10 16:01:14 +00:00
silvioprog
6c13b22cd4
Add JWT example () ()
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-09-10 17:51:20 +02:00
Andrei Zolkin
283bbfbd36
Add JWT auth example as community showcase () 2021-09-08 06:15:17 +00:00
techno-tanoC
c8a44105c2
Fix a pull request link in CHANGELOG.md () 2021-09-07 06:33:08 +00:00
Singee
e069225559
fix examples link in README.md () 2021-09-06 07:29:32 +00:00
zhihanz
835432b5c9
Add datafuse as community showcase () 2021-09-02 08:16:49 +02:00
Sidharth Kshatriya
39c5cc24fa
Remove repeated constraint ()
The constraint for B is repeated. Remove it.
2021-08-31 08:23:59 +00:00
David Pedersen
e698586193
Document adding middleware to multiple groups of routes () 2021-08-31 07:07:57 +00:00
David Pedersen
c082107fb6
Document using StreamExt::split with WebSocket ()
Fixes https://github.com/tokio-rs/axum/issues/283
2021-08-30 21:13:50 +00:00
Ken-Miura
c7c73a0d72
Fix a typo in documentation () 2021-08-27 20:20:59 +02:00
Jonas Platte
e41bac7f39
Expose hyper's http2 feature flag ()
* Order features alphabetically

… in Cargo.toml and crate docs.

* Improve ws feature docs

* Expose hyper's http2 feature flag
2021-08-27 08:58:50 +00:00
David Pedersen
4c5068c01f
Add Send + Sync check to all services ()
Should prevent us accidentally introducing breaking changes.

Fixes https://github.com/tokio-rs/axum/issues/275
2021-08-26 20:59:55 +02:00
Ken-Miura
e6ca9e4b04
Fix content-type in example response () 2021-08-26 18:16:41 +00:00
David Pedersen
bdc39deef2
Version 0.2.3 ()
0.2.3 (26. August, 2021)

- **fixed:** Fix accidental breaking change introduced by internal refactor.
  `BoxRoute` used to be `Sync` but was accidental made `!Sync` ([](https://github.com/tokio-rs/axum/pull/273))
2021-08-26 16:22:47 +02:00
David Pedersen
a0be328976
Revert "Remove buffer from BoxRoute ()" ()
This reverts commit 552d69e5d4.
2021-08-26 14:11:38 +00:00
David Pedersen
7b391d85c8
Version 0.2.2 ()
0.2.2 (24. August, 2021)

- **fixed:** Fix URI captures matching empty segments. This means requests with
  URI `/` will no longer be matched by `/:key` ([](https://github.com/tokio-rs/axum/pull/264))
- **fixed:** Remove needless trait bounds from `Router::boxed` ([](https://github.com/tokio-rs/axum/pull/264))
2021-08-26 06:57:07 +00:00
David Pedersen
552d69e5d4
Remove buffer from BoxRoute ()
Boxing a service normally means using `tower::util::BoxService`. That
doesn't implement `Clone` however so normally I had been combining it
with `Buffer` to get that.

But recently I discovered https://github.com/dtolnay/dyn-clone which
makes it possible to clone trait objects. So this adds a new internal
utility called `CloneBoxService` which replaces the previous
`BoxService` + `Buffer` combo in `BoxRoute`.

I'll investigate upstreaming that to tower. I think it makes sense there
since box + clone is quite a common need.
2021-08-26 06:34:53 +00:00
David Pedersen
20f6c3b509
Remove needless traits bounds from Router::boxed ()
Turns out these bounds weren't actually needed.

I was hoping it would speed up compile times but that isn't the case.
2021-08-26 08:24:21 +02:00
David Pedersen
0d2db387a8
Fix URI captures matching empty segments ()
It was never the intention that `/:key` should match `/`. This fixes
that.

Part of https://github.com/tokio-rs/axum/issues/259
2021-08-24 18:27:06 +00:00
Jonas Platte
ab207af060
Rename .route() / .nest() "description" to "path" () 2021-08-24 19:29:28 +02:00
David Pedersen
9a082a74b0
Version 0.2.1 ()
0.2.1 (24. August, 2021)

- **added:** Add `Redirect::to` constructor ([](https://github.com/tokio-rs/axum/pull/255))
- **added:** Document how to implement `IntoResponse` for custom error type ([](https://github.com/tokio-rs/axum/pull/258))
2021-08-24 12:53:57 +02:00
David Pedersen
3d4ef9dc32
Document how to implement IntoResponse for custom error type ()
Fixes https://github.com/tokio-rs/axum/issues/249
2021-08-24 12:42:10 +02:00
Jonas Platte
536b8ca4ec
Add Redirect::to constructor ()
The motivation for this is established in the issue it fixes.

Resolves 
2021-08-24 12:13:18 +02:00
programatik29
1a5f977896
Simplify tls-rustls example ()
## Motivation

Current `tls-rustls` example might be inconvenient for some people.

## Solution

Rename current example to `low-level-rustls` and add a high level example in its place.
2021-08-24 09:56:31 +02:00
bear
52ccb1bf42
Update StreamBody doc link () 2021-08-24 07:58:35 +02:00