Signed URL middleware for Axum, using extractors.
use axum::{routing::get, Router};
use axum_signed_urls::{SignedUrl, build};
// This route will only be accessible if the URL is signed
async fn handler(_: SignedUrl) -> String {
// This is how you create a signed URL
build("/path", vec![("foo", "bar")].into_iter().collect()).unwrap()
}
The most often issue with this extractor is using it after one consuming body e.g.
[axum::extract::Json
].
To fix this rearrange extractors in your handler definition moving body consumption to the
end, see details.
This project is licensed under the MIT License - see the LICENSE file for details.