Skip to content

Graphorin API reference v0.7.0


Graphorin API reference / @graphorin/server / / IdempotencyMiddlewareOptions

Interface: IdempotencyMiddlewareOptions

Defined in: packages/server/src/middleware/idempotency.ts:44

Options accepted by createIdempotencyMiddleware.

Stable

Properties

PropertyModifierTypeDescriptionDefined in
configreadonly{ checkBodyFingerprint: boolean; enabled: boolean; lruCacheSize: number; requireKey: IdempotencyRequireKeyMode; ttlSeconds: number; }-packages/server/src/middleware/idempotency.ts:53
config.checkBodyFingerprintreadonlyboolean-packages/server/src/config.ts:73
config.enabledreadonlyboolean-packages/server/src/config.ts:70
config.lruCacheSizereadonlynumber-packages/server/src/config.ts:74
config.requireKeyreadonlyIdempotencyRequireKeyMode-packages/server/src/config.ts:71
config.ttlSecondsreadonlynumber-packages/server/src/config.ts:72
excludeResponseCachePaths?readonlyreadonly string[]Paths whose responses are NEVER cached or replayed (IP-6) - the middleware passes straight through. Used for secret-bearing endpoints (POST /v1/tokens returns a raw token; caching it would persist the secret plaintext in durable SQLite for the TTL).packages/server/src/middleware/idempotency.ts:51
metricRegistry?readonlyMetricRegistryIP-15: when supplied, the middleware publishes a live graphorin_idempotency_cache_hit_ratio gauge (replays / replays+executes) instead of leaving the registered metric a permanently-empty series.packages/server/src/middleware/idempotency.ts:61
now?readonly() => numberWall-clock provider; tests inject a deterministic generator.packages/server/src/middleware/idempotency.ts:55
storereadonlyIdempotencyStore-packages/server/src/middleware/idempotency.ts:52