Skip to content

Nouvelles tentatives et cache mémoire

createRetryMiddleware

Backoff exponentiel + jitter. Options fusionnées depuis les defaults et ctx.request.retry.

OptionDéfautRôle
maxAttempts3
baseDelayMs300
maxDelayMs30000
factor2
retryOnStatus408,429,5xx listés
retryOnNetworkErrortrue
retryNonIdempotentMethodsfalseSi false, retry réseau/parse/statuts seulement pour GET, HEAD, OPTIONS, TRACE
shouldRetryCallback optionnelle

ERR_CANCELED : pas de retry.

Pour autoriser POST/PUT etc. : retry: { retryNonIdempotentMethods: true }.

MemoryCacheStore + createCacheMiddleware

ts
const store = new MemoryCacheStore({ maxEntries: 500 });
createCacheMiddleware(store, {
  ttlMs: 60_000,
  staleWhileRevalidateMs: 0,
  methods: ["GET", "HEAD"],
  varyHeaderNames: ["authorization", "cookie"],
});
  • Clé par défaut : METHOD urlComplète.
  • memoryCache.skip bypass ; utilisé en arrière-plan pour SWR.
  • varyHeaderNames ou key pour ne pas mélanger les utilisateurs.

SWR : après TTL, sert périmé et rafraîchit en tâche de fond si staleWhileRevalidateMs > 0.

Suite

MIT · @hamdymohamedak/openfetch