1 unstable release
Uses new Rust 2024
new 0.1.2 | Apr 16, 2025 |
---|
#1531 in HTTP server
9KB
60 lines
Rust Axum Middleware - Extract Version from Header
Custom extractor for Rust Axum to extract the version from an HTTP header x-version
.
Works ONLY with Rust Axum.
Usage
use axum::{routing::get, Router};
use version_middleware::ExtractVersion;
async fn handler(ExtractVersion(version): ExtractVersion) {
println!("Version: {}", version);
}
let app = Router::<()>::new().route("/foo", get(handler));
The extracted value is :
trim
to clean extra spaces, before and after ;lowercase
to standardize and make it more resilient to implementation errors.
Samples
Extract version if the header is explicitly set
curl -H "X-Version: v1.0.0" http://api.nebeto.xyz/foo
curl -H "x-version: preView" http://api.nebeto.xyz/foo
curl -H "X-VeRSion: latest" http://api.nebeto.xyz/foo
Will give respectively v1.0.0
, preview
and latest
.
Extract version if the header is missing
curl http://api.nebeto.xyz/foo
Will give by default latest
.
Contact
For any question or feature suggestion, you can take a look and open, if necessary, a new discussion.
For any bug, you can take a look to our active issues and open, if necessary, a new issue.
Dependencies
~6–12MB
~121K SLoC