2018-11-30 17:12:48 +01:00
|
|
|
/**
|
feat: Implement comprehensive web request handling with caching, retry, and interceptors
- Added cache strategies: NetworkFirst, CacheFirst, StaleWhileRevalidate, NetworkOnly, and CacheOnly.
- Introduced InterceptorManager for managing request, response, and error interceptors.
- Developed RetryManager for handling request retries with customizable backoff strategies.
- Implemented RequestDeduplicator to prevent simultaneous identical requests.
- Created timeout utilities for handling request timeouts.
- Enhanced WebrequestClient to support global interceptors, caching, and retry logic.
- Added convenience methods for common HTTP methods (GET, POST, PUT, DELETE) with JSON handling.
- Established a fetch-compatible webrequest function for seamless integration.
- Defined core type structures for caching, retry options, interceptors, and web request configurations.
2025-10-20 09:59:24 +00:00
|
|
|
* @push.rocks/webrequest v4
|
|
|
|
|
* Modern, fetch-compatible web request library with intelligent caching
|
2018-11-30 17:12:48 +01:00
|
|
|
*/
|
2022-07-28 16:23:11 +02:00
|
|
|
|
feat: Implement comprehensive web request handling with caching, retry, and interceptors
- Added cache strategies: NetworkFirst, CacheFirst, StaleWhileRevalidate, NetworkOnly, and CacheOnly.
- Introduced InterceptorManager for managing request, response, and error interceptors.
- Developed RetryManager for handling request retries with customizable backoff strategies.
- Implemented RequestDeduplicator to prevent simultaneous identical requests.
- Created timeout utilities for handling request timeouts.
- Enhanced WebrequestClient to support global interceptors, caching, and retry logic.
- Added convenience methods for common HTTP methods (GET, POST, PUT, DELETE) with JSON handling.
- Established a fetch-compatible webrequest function for seamless integration.
- Defined core type structures for caching, retry options, interceptors, and web request configurations.
2025-10-20 09:59:24 +00:00
|
|
|
// Main exports
|
|
|
|
|
export { webrequest } from './webrequest.function.js';
|
|
|
|
|
export { WebrequestClient } from './webrequest.client.js';
|
|
|
|
|
|
|
|
|
|
// Type exports
|
|
|
|
|
export type {
|
|
|
|
|
IWebrequestOptions,
|
|
|
|
|
ICacheOptions,
|
|
|
|
|
IRetryOptions,
|
|
|
|
|
IInterceptors,
|
|
|
|
|
TCacheStrategy,
|
|
|
|
|
TStandardCacheMode,
|
|
|
|
|
TBackoffStrategy,
|
|
|
|
|
TWebrequestResult,
|
|
|
|
|
IWebrequestSuccess,
|
|
|
|
|
IWebrequestError,
|
|
|
|
|
ICacheEntry,
|
|
|
|
|
ICacheMetadata,
|
|
|
|
|
} from './webrequest.types.js';
|
|
|
|
|
|
|
|
|
|
export type {
|
|
|
|
|
TRequestInterceptor,
|
|
|
|
|
TResponseInterceptor,
|
|
|
|
|
TErrorInterceptor,
|
|
|
|
|
} from './interceptors/interceptor.types.js';
|
|
|
|
|
|
|
|
|
|
// Advanced exports for custom implementations
|
|
|
|
|
export { CacheManager } from './cache/cache.manager.js';
|
|
|
|
|
export { CacheStore } from './cache/cache.store.js';
|
|
|
|
|
export { RetryManager } from './retry/retry.manager.js';
|
|
|
|
|
export { InterceptorManager } from './interceptors/interceptor.manager.js';
|
|
|
|
|
export { RequestDeduplicator } from './utils/deduplicator.js';
|
|
|
|
|
|
|
|
|
|
// Cache utilities
|
|
|
|
|
export {
|
|
|
|
|
extractCacheMetadata,
|
|
|
|
|
isFresh,
|
|
|
|
|
requiresRevalidation,
|
|
|
|
|
createConditionalHeaders,
|
|
|
|
|
headersToObject,
|
|
|
|
|
objectToHeaders,
|
|
|
|
|
} from './cache/cache.headers.js';
|