axum-client-ip
A client IP address extractor for Axum
It sequentially looks for an IP in:
x-forwarded-forheader (de-facto standard)x-real-ipheaderforwardedheader (new standard)axum::extract::ConnectInfo(if not behind proxy)
The most often issue with this extractor is using it after one consuming body e.g. Json.
To fix this rearrange extractors in your handler definition moving body consumption to the
end, details.
Usage
use ;
use ClientIp;
use SocketAddr;
pub async
async
Contributing
We appreciate all kinds of contributions, thank you!
Note on README
Most of the readme is automatically copied from the crate documentation by cargo-sync-readme. This way the readme is always in sync with the docs and examples are tested.
So if you find a part of the readme you'd like to change between <!-- cargo-sync-readme start -->
and <!-- cargo-sync-readme end --> markers, don't edit README.md directly, but rather change
the documentation on top of src/lib.rs and then synchronize the readme with:
(make sure the cargo command is installed):
If you have rusty-hook installed the changes will apply automatically on commit.
License
This project is licensed under the MIT license.