The idempotency can be made configurable based on the users preferences.
- Configurable key validation (format, length, pattern) can be made available to set, something like:
avoonce:
idempotency:
key-pattern: "^[a-fA-F0-9\\-]{36}$" # UUID format
max-key-length: 128
Also the key validation prevents abuse (overly long keys, injection attempts)
- Some APIs might prefer to send the idempotency-key through query params or JSON-body fields over headers, so this flexibility can be introduced in the library.
The idempotency can be made configurable based on the users preferences.
Also the key validation prevents abuse (overly long keys, injection attempts)