Check Request and Path in debug_handler (#1035)

* Check `Request` and `Path` in `debug_handler`

* changelog links

* Include errors with the input
This commit is contained in:
David Pedersen
2022-05-16 10:05:17 +00:00
committed by GitHub
parent 316e20fbd9
commit 05529c8efc
9 changed files with 122 additions and 17 deletions
@@ -0,0 +1,7 @@
use axum::extract::Path;
use axum_macros::debug_handler;
#[debug_handler]
async fn handler(_: Path<String>, _: Path<String>) {}
fn main() {}
@@ -0,0 +1,11 @@
error: Multiple parameters must be extracted with a tuple `Path<(_, _)>` or a struct `Path<YourParams>`, not by applying multiple `Path<_>` extractors
--> tests/debug_handler/fail/multiple_paths.rs:5:18
|
5 | async fn handler(_: Path<String>, _: Path<String>) {}
| ^^^^^^^^^^^^^^^
error: Multiple parameters must be extracted with a tuple `Path<(_, _)>` or a struct `Path<YourParams>`, not by applying multiple `Path<_>` extractors
--> tests/debug_handler/fail/multiple_paths.rs:5:35
|
5 | async fn handler(_: Path<String>, _: Path<String>) {}
| ^^^^^^^^^^^^^^^
@@ -0,0 +1,7 @@
use axum::{body::Body, extract::Extension, http::Request};
use axum_macros::debug_handler;
#[debug_handler]
async fn handler(_: Request<Body>, _: Extension<String>) {}
fn main() {}
@@ -0,0 +1,5 @@
error: `Request` extractor should always be last
--> tests/debug_handler/fail/request_not_last.rs:5:18
|
5 | async fn handler(_: Request<Body>, _: Extension<String>) {}
| ^^^^^^^^^^^^^^^^