/limitation

Rate limiting using a fixed window counter for arbitrary keys, backed by Redis.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Limitation

Rate limiting using a fixed window counter for arbitrary keys, backed by Redis.

CI CI Status
License License

Table of Contents

Project Layout

The crates included as part of Limitation are:

The limitation-proxy crate is intended for deploying or experimenting with fronting an API with rate limiting. The limitation crate can be used for standalone projects or integration into other runtimes and frameworks. The limitation-actix-middleware crate is for developers wishing to integrate rate limiting into Actix web-based applications and services. Finally, the limitation-example crate won't be released to Crates.io but rather serves as an example.

CI Status

Build (master branch)

Operating System Stable Rust Nightly Rust MSRV
FreeBSD FreeBSD Stable Build Status FreeBSD Nightly Build Status FreeBSD Oldest Build Status
Linux Linux Stable Build Status Linux Nightly Build Status Linux Oldest Build Status
macOS macOS Stable Build Status macOS Nightly Build Status macOS Oldest Build Status
Windows Windows Stable Build Status Windows Nightly Build Status Windows Oldest Build Status

Test (master branch)

Operating System Stable Rust Nightly Rust MSRV
FreeBSD FreeBSD Stable Test Status FreeBSD Nightly Test Status FreeBSD Oldest Test Status
Linux Linux Stable Test Status Linux Nightly Test Status Linux Oldest Test Status
macOS macOS Stable Test Status macOS Nightly Test Status macOS Oldest Test Status
Windows Windows Stable Test Status Windows Nightly Test Status Windows Oldest Test Status

Check (master branch)

Status
Lint Lint Status
Format Format Status

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to fnichol@nichol.ca.

Issues

If you have any problems with or questions about this project, please contact us through a GitHub issue.

Contributing

You are invited to contribute to new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Authors

Created and maintained by Fletcher Nichol (fnichol@nichol.ca).

License

Licensed under the Mozilla Public License Version 2.0 (LICENSE.txt).

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the MPL-2.0 license, shall be licensed as above, without any additional terms or conditions.