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

1390 commits

Author SHA1 Message Date
David Pedersen
7692baf837
Reorganize method routers for handlers and services ()
* Re-organize method routing for handlers

* Re-organize method routing for services

* changelog
2021-10-24 20:05:16 +00:00
David Pedersen
0ee7379d4f
Fix compile time regression by boxing routes internally ()
This is a reimplementation of  but with the new matchit based router.

Fixes 
2021-10-24 20:52:42 +02:00
David Pedersen
1a764bb8d7
Remove MaybeSharedNode from Router ()
In  I added `MaybeSharedNode` which makes `Router` faster to clone
_if_ you're using `into_make_service`. However I would like instead like
to find a solution that works even when you're not using
`into_make_service`.

Using an `Arc<RwLock<Node<_>>>` is probably the only solution but would
like to experiment. For now I'm gonna rollback `MaybeSharedNode`.
Changing it wont require user facing changes.
2021-10-24 17:49:31 +00:00
David Pedersen
f10508db0b
Revamp error handling model ()
* Revamp error handling model

* changelog improvements and typo fixes

* Fix a few more Infallible bounds

* minor docs fixes
2021-10-24 17:33:03 +00:00
David Pedersen
1a78a3f224
"matchit" based router ()
* "matchit" based router

* Update changelog

* Remove dependency on `regex`

* Docs

* Fix typos

* Also mention route order in root module docs

* Update CHANGELOG.md

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

* Document that `/:key` and `/foo` overlaps

* Provide good error message for wildcards in routes

* minor clean ups

* Make `Router` cheaper to clone

* Ensure middleware still only applies to routes above

* Remove call to issues from changelog

We're aware of the short coming :)

* Fix tests on 1.51

Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-10-24 15:22:49 +02:00
David Pedersen
9fcc884374
Change Connected::connect_info to return Self ()
I've been thinking that having an associated type probably isn't
necessary. I imagine most users are either using `SocketAddr` to the
remote connection IP, or writing their own connection struct.
2021-10-19 23:06:15 +02:00
Eray Karatay
a724af3d0a
Add reverse-proxy example () 2021-10-19 22:52:19 +02:00
David Pedersen
e71ab44bd5 Update main to version 0.3.0 2021-10-19 22:37:57 +02:00
David Pedersen
24eb661fe4
Fix CI caching () 2021-10-19 22:25:06 +02:00
David Pedersen
554e3a0ad4
Remove routing::Layered () 2021-10-13 12:21:22 +02:00
silvioprog
8ca5538405
Fix typo in main.rs () 2021-10-12 18:20:27 +00:00
David Pedersen
ce5834ab80
Expand accepted content types for JSON requests ()
* Expand accepted content types for JSON requests

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

* changelog

* add test for content type without spaces

* Don't accept `text/json`

* small clean up
2021-10-08 14:51:22 +00:00
David Pedersen
fe4c0ae386
Remove some #[allow(warnings)] ()
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 () 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