univeros / idempotency
Stripe-style Idempotency-Key primitive for Univeros: storage contract, adapters, and (in companion packages) PSR-15 middleware + spec block.
Requires
- php: >=8.3
- psr/http-factory: ^1.1
- psr/http-message: ^1.1 || ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- univeros/configuration: ^2.0
- univeros/container: ^2.0
This package is auto-updated.
Last update: 2026-06-02 20:03:12 UTC
README
Stripe-style Idempotency-Key primitive for Univeros: storage contract, adapters (InMemory / APCu / Redis), PSR-15 middleware, spec block, and an x-altair-idempotency OpenAPI 3.1 extension that round-trips the policy.
idempotency: ttl: 24h scope: tenant mode: required
Add the block to a spec → bin/altair spec:scaffold → the generated Action carries the policy → the host's IdempotencyKeyMiddleware reads it and enforces it per request.
See docs/packages/idempotency.md for the full reference: behaviour matrix, storage adapter trade-offs, round-trip semantics, host wiring.
Composer
composer require univeros/idempotency
PHP 8.3+; depends only on PSR HTTP interfaces plus univeros/configuration + univeros/container. Adapter-specific extensions (ext-apcu, ext-redis) are declared as suggest rather than require.