New method router (#521)

* Empty crate

* basic setup

* Support `HEAD`

* Add remaining methods

* Impl Debug

* Add `MethodRouter::merge`

* WIP

* Support same route with different methods in different calls

* Update changelog

* Bring back `any` and `any_service`

* Address review feedback
This commit is contained in:
David Pedersen
2021-11-16 20:49:07 +01:00
committed by GitHub
parent 3cf8ee3b5e
commit 2bd0310463
25 changed files with 1533 additions and 803 deletions
+2 -5
View File
@@ -4,10 +4,7 @@
//! cargo run -p example-static-file-server
//! ```
use axum::{
error_handling::HandleErrorExt, http::StatusCode, routing::service_method_routing as service,
Router,
};
use axum::{http::StatusCode, routing::get_service, Router};
use std::net::SocketAddr;
use tower_http::{services::ServeDir, trace::TraceLayer};
@@ -25,7 +22,7 @@ async fn main() {
let app = Router::new()
.nest(
"/static",
service::get(ServeDir::new(".")).handle_error(|error: std::io::Error| {
get_service(ServeDir::new(".")).handle_error(|error: std::io::Error| {
(
StatusCode::INTERNAL_SERVER_ERROR,
format!("Unhandled internal error: {}", error),