#request-id #unique-id #tower-service #tower #hyper #warp #axum

tower-request-id

A tower (hyper, axum, warp) service to add a unique id for every request

4 releases (2 breaking)

0.3.0 Dec 2, 2023
0.2.1 Dec 19, 2022
0.2.0 Nov 4, 2021
0.1.0 Sep 29, 2021

#849 in HTTP server

Download history 4449/week @ 2024-07-21 4078/week @ 2024-07-28 4261/week @ 2024-08-04 3678/week @ 2024-08-11 5162/week @ 2024-08-18 4555/week @ 2024-08-25 4411/week @ 2024-09-01 4089/week @ 2024-09-08 3888/week @ 2024-09-15 3634/week @ 2024-09-22 4122/week @ 2024-09-29 3837/week @ 2024-10-06 4014/week @ 2024-10-13 4277/week @ 2024-10-20 4660/week @ 2024-10-27 3842/week @ 2024-11-03

16,867 downloads per month

MIT license

11KB
53 lines

License Crates.io Docs.rs

tower-request-id

A tiny tower (hyper, axum, warp etc) service to generate a random id for each incoming request.

Usage

After adding the RequestIdLayer into the axum middlewares the request id is available in the [http::Request::extensions()]. For the tracing integration, please refer to the logging example.

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:

cargo sync-readme

(make sure the cargo command is installed):

cargo install cargo-sync-readme

If you have rusty-hook installed the changes will apply automatically on commit.

License

This project is licensed under the MIT license.

Dependencies

~0.6–1MB
~17K SLoC