UNPKG

@push.rocks/webrequest

Version:

Modern, fetch-compatible web request library with intelligent HTTP caching, retry strategies, and fault tolerance.

44 lines (43 loc) 1.35 kB
/** * HTTP Cache Header parsing and utilities * Implements RFC 7234 (HTTP Caching) */ import type { ICacheMetadata } from '../webrequest.types.js'; /** * Parse Cache-Control header into metadata */ export declare function parseCacheControl(cacheControlHeader: string | null): Partial<ICacheMetadata>; /** * Parse Expires header into timestamp */ export declare function parseExpires(expiresHeader: string | null): number | undefined; /** * Extract cache metadata from response headers */ export declare function extractCacheMetadata(headers: Headers): ICacheMetadata; /** * Check if a cached response is still fresh */ export declare function isFresh(cacheEntry: { timestamp: number; maxAge?: number; }, metadata: ICacheMetadata): boolean; /** * Check if revalidation is required */ export declare function requiresRevalidation(metadata: ICacheMetadata): boolean; /** * Create conditional request headers for revalidation */ export declare function createConditionalHeaders(cacheEntry: { etag?: string; lastModified?: string; }): HeadersInit; /** * Convert Headers object to plain object for storage */ export declare function headersToObject(headers: Headers): Record<string, string>; /** * Convert plain object back to Headers */ export declare function objectToHeaders(obj: Record<string, string>): Headers;