idempotent 0.1.2

Type-safe idempotency keys for building reliable, retry-safe APIs
idempotent-0.1.2 has been yanked.
Visit the last successful build: idempotent-0.3.0

Build Status Crates.io Documentation MPL-2.0 license

idempotent

Idempotency library with at-most-once execution and response caching.

Features

  • Typestate entries: ProcessingCompleted enforced at compile time
  • Pluggable stores: an in-memory suitable for development or single node deployment
  • Fencing tokens: prevents stale completions after key expiry and reclaim
  • Fingerprint matching: detects mismatched request bodies under the same key

Usage

Add to your Cargo.toml

[dependencies]
idempotency = { version = "0.1.2", features = ["memory"] }

Optional Features

Supported Rust versions

The minimum supported Rust version is 1.93.0.

License

Unless otherwise noted, this project is licensed under the Mozilla Public License Version 2.0.

Contribution

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