Opinionated, caching, retrying fetch client for Node.js with enterprise-grade HTTP features
Overall
score
74%
HTTP caching via cachePath with fetch-style cache modes
Dependency use
100%
100%
cachePath setup
100%
100%
Cache mode mapping
100%
100%
Reload refresh
100%
100%
Only-if-cached
100%
100%
No-cache revalidate
100%
100%
Fetch wrapper with Request/Response exports and chainable defaults
Default client
0%
48%
Chained defaults
0%
20%
Request handling
10%
20%
Header merging
0%
20%
Base URL resolution
0%
0%
Cache metadata controls including cacheAdditionalHeaders, conditional-request cache bypass, and non-GET invalidation
Cache setup
100%
100%
Header persistence
0%
100%
Conditional bypass
0%
100%
Non-GET invalidation
0%
100%
Cache metadata surfaced
75%
100%
Automatic retries with configurable backoff and attempt tracking
make-fetch-happen
0%
100%
Retry config
0%
100%
onRetry hook
0%
90%
Attempt header
0%
100%
Retryable errors
0%
100%
Streaming pipelines that tee responses into cache while buffering integrity/size events for late listeners
Cache path fetch
0%
100%
Tee while streaming
25%
25%
Integrity option
0%
80%
Late event delivery
40%
20%
Cache hit reuse
15%
90%
Redirect handling with protocol switches and manual/error modes
Follow mode
0%
0%
Manual mode
100%
100%
Error mode
25%
0%
Redirect limit
0%
0%
Method normalization
0%
0%
Subresource Integrity verification with ssri-driven integrity/size events and cached hashes
Uses make-fetch
100%
100%
Integrity option
60%
100%
Algorithms & size
0%
100%
Integrity events
0%
25%
Verified caching
25%
100%
Stale and offline cache behaviors with revalidation and only-if-cached error surfacing
Cache setup
100%
100%
Offline only-if-cached
100%
100%
304 revalidation
100%
100%
Stale on failure
50%
60%
Reload bypass
100%
100%
Proxy and agent configuration including TLS, DNS cache, and socket pooling
Proxy routing
66%
50%
TLS credentials
100%
100%
DNS cache TTL
75%
100%
Socket pooling
100%
100%
Install with Tessl CLI
npx tessl i tessl/npm-make-fetch-happen