* implement TryFrom<http::Method> for MethodFilter
* test for TryFrom<http::Method> for MethodFilter
* 'UnsupportedMethod' error type for MethodFilter
* Log TryFrom<http::Method> for MethodFilter
* adjust docs
* move docs
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
* Prepare axum-next branch
* Remove deprecated `extractor_middleware` function (#1077)
* Allow `Error: Into<Infallible>` for `Route::{layer, route_layer}` (#948)
* Allow `Error: Into<Infallible>` for `Route::{layer, route_layer}` (#924)
* Allow `Error: Into<Infallible>` for `Route::{layer, route_layer}`
Fixes https://github.com/tokio-rs/axum/issues/922
* changelog
* fixup changelog
* Panic on overlapping routes in `MethodRouter` (#1102)
* Panic on overlapping routes in `MethodRouter`
* changelog link
* add test to ensure `head` and `get` don't overlap
* Fix changelog
* Prepare axum-next branch
* Remove trailing slash redirects
* changelog link
* Fix changelog
* remove asserting to make make the test more clear
* remove tsr related feature
* Add `RouterExt::route_with_tsr`
* Apply suggestions from code review
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* Update axum-extra/src/routing/mod.rs
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* fix typos in docs
* Update axum/CHANGELOG.md
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* mention `RouterExt::route_with_tsr` in the changelog
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* Fix possible panic when doing trailing slash redirect
Fixes https://github.com/tokio-rs/axum/issues/1122
* changelog link
* Update axum/src/routing/mod.rs
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* Support `Forwarded` in `Host` extractor
* changelog
* Update axum/src/extract/host.rs
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* look for `host` key
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
* Automatically handle `http_body::LengthLimitError`
* add tower-http dev dep to axum-core
* just make it a link
* Make `FailedToBufferBody` an enum
* Fix tests now that tower-http handles `Content-Length`
* Bring back explanation for `LengthLimitError`
* remove todo we likely can't fix
* improve wording in docs
* `Path` extractor works with `Deserialize` impls using `&str`
Before this change the extractor `Path<Test>` would fail if the
`Deserialize` implementation of `Test` was calling
`Deserializer::deserialize_str()`.
Now we use `Visitor::visit_borrowed_str()` instead of
`Visitor::visit_str()` which is also recommended in the guide to
implement a deserializer [1].
[1]: https://serde.rs/impl-deserializer.html
* fixup! `Path` extractor works with `Deserialize` impls using `&str`
* add test for percent decoding
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>