| 
									
										
										
										
											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'; |