Commit graph

428 commits

Author SHA1 Message Date
David Pedersen
fe4c0ae386
Remove some #[allow(warnings)] (#376)
These were probably added during development and then forgotten to be
removed.
2021-10-08 14:09:44 +00:00
David Pedersen
2bedcc285b Update changelog with 0.2.8 2021-10-07 17:28:56 +02:00
David Pedersen
a30f123f35 Update changelog with 0.2.7 2021-10-07 17:11:08 +02:00
David Pedersen
ac291baaec
Fix dead code warnings (#373) 2021-10-07 16:49:57 +02:00
David Pedersen
5dc5a7cb6e
Document debugging handler type errors with "axum-debug" (#372)
* 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 (#369)
Older versions generate invalid code for Handler impls.
2021-10-06 20:46:10 +02:00
Eray Karatay
b7002f68d5
Update some examples (#364) 2021-10-05 07:50:27 +02:00
David Pedersen
afabded385
Percent decode automatically in extract::Path (#272)
* 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 (#286)
* 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 (#339)
* Improve performance of `BoxRoute`

This is based on #315 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 (#360) 2021-10-02 11:33:52 +00:00
David Pedersen
038c17a514
Add Customizing extractor responses section to docs (#359)
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 (#356)
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 (#352) 2021-09-28 18:12:23 +02:00
LT
0b3ee5b2ce
Add graceful shutdown example (#349) 2021-09-28 09:08:49 +00:00
David Pedersen
f3c155bf5b
Fix typo in StreamBody docs (#343) 2021-09-22 14:20:43 +00:00
Imbolc
4be4e1d17c
Fix doc typo (#342) 2021-09-22 14:07:26 +00:00
David Pedersen
48401f2c8d
Simplify macros for implementing Handler and FromRequest (#340)
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 (#338)
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 (#337)
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 (#336)
- Add accessors for `TypedHeaderRejection` fields ([#317])
- Improve docs for extractors ([#327])

[#317]: https://github.com/tokio-rs/axum/pull/317
[#327]: https://github.com/tokio-rs/axum/pull/327
2021-09-18 19:35:10 +02:00
David Pedersen
593e3e319a
Improve extractor docs (#327)
* 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 (#317)
Fixes #316
2021-09-12 16:11:51 +00:00
Andrei Zolkin
9df57e6ff2
Migrate all examples to use std::env::var_os (#312) 2021-09-12 17:39:43 +02:00
heliumbrain
3741e16cf2
Fix typos in docs (#318)
* 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 (#314)
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 (#313)
Contains some documentation improvements:

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

[#291]: https://github.com/tokio-rs/axum/pull/291
[#293]: https://github.com/tokio-rs/axum/pull/293
2021-09-10 16:01:14 +00:00
silvioprog
6c13b22cd4
Add JWT example (#306) (#308)
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 (#309) 2021-09-08 06:15:17 +00:00
techno-tanoC
c8a44105c2
Fix a pull request link in CHANGELOG.md (#307) 2021-09-07 06:33:08 +00:00
Singee
e069225559
fix examples link in README.md (#305) 2021-09-06 07:29:32 +00:00
zhihanz
835432b5c9
Add datafuse as community showcase (#302) 2021-09-02 08:16:49 +02:00
Sidharth Kshatriya
39c5cc24fa
Remove repeated constraint (#294)
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 (#293) 2021-08-31 07:07:57 +00:00
David Pedersen
c082107fb6
Document using StreamExt::split with WebSocket (#291)
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 (#280) 2021-08-27 20:20:59 +02:00
Jonas Platte
e41bac7f39
Expose hyper's http2 feature flag (#279)
* 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 (#277)
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 (#276) 2021-08-26 18:16:41 +00:00
David Pedersen
bdc39deef2
Version 0.2.3 (#274)
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` ([#273](https://github.com/tokio-rs/axum/pull/273))
2021-08-26 16:22:47 +02:00
David Pedersen
a0be328976
Revert "Remove buffer from BoxRoute (#270)" (#273)
This reverts commit 552d69e5d4.
2021-08-26 14:11:38 +00:00
David Pedersen
7b391d85c8
Version 0.2.2 (#271)
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` ([#264](https://github.com/tokio-rs/axum/pull/264))
- **fixed:** Remove needless trait bounds from `Router::boxed` ([#264](https://github.com/tokio-rs/axum/pull/264))
2021-08-26 06:57:07 +00:00
David Pedersen
552d69e5d4
Remove buffer from BoxRoute (#270)
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 (#269)
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 (#264)
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" (#265) 2021-08-24 19:29:28 +02:00
David Pedersen
9a082a74b0
Version 0.2.1 (#256)
0.2.1 (24. August, 2021)

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

Resolves #248
2021-08-24 12:13:18 +02:00