UNPKG

@fastly/compute-js-static-publish

Version:
40 lines 2.27 kB
import { type KVStoreEntry } from 'fastly:kv-store'; import { type StaticPublishRc } from '../../models/config/static-publish-rc.js'; import { type PublisherServerConfigNormalized } from '../../models/config/publisher-server-config.js'; import { type ContentCompressionTypes } from '../../models/compression/index.js'; import { type KVAssetEntry, type KVAssetEntryMap, type KVAssetVariantMetadata } from '../../models/assets/kvstore-assets.js'; type KVAssetVariant = { kvStoreEntry: KVStoreEntry; } & KVAssetVariantMetadata; export declare function buildHeadersSubset(responseHeaders: Headers, keys: Readonly<string[]>): Headers; type AssetInit = { status?: number; headers?: Record<string, string>; cache?: 'extended' | 'never' | null; }; export declare class PublisherServer { constructor(publishId: string, kvStoreName: string, defaultCollectionName: string); static fromStaticPublishRc(config: StaticPublishRc): PublisherServer; publishId: string; kvStoreName: string; defaultCollectionName: string; activeCollectionName: string; collectionNameHeader: string | null; settingsCached: PublisherServerConfigNormalized | null | undefined; kvAssetsIndex: KVAssetEntryMap | null | undefined; setActiveCollectionName(collectionName: string): void; setCollectionNameHeader(collectionHeader: string | null): void; getServerConfig(): Promise<PublisherServerConfigNormalized | null>; getStaticItems(): Promise<(string | RegExp)[]>; getKvAssetsIndex(): Promise<KVAssetEntryMap | null>; getMatchingAsset(assetKey: string, applyAuto?: boolean): Promise<KVAssetEntry | null>; findAcceptEncodingsGroups(request: Request): Promise<ContentCompressionTypes[][]>; testExtendedCache(pathname: string): Promise<boolean>; handlePreconditions(request: Request, asset: KVAssetEntry, responseHeaders: Headers): Response | null; loadKvAssetVariant(entry: KVAssetEntry, variant: ContentCompressionTypes | null): Promise<KVAssetVariant | null>; private findKVAssetVariantForAcceptEncodingsGroups; serveAsset(request: Request, asset: KVAssetEntry, init?: AssetInit): Promise<Response>; serveRequest(request: Request): Promise<Response | null>; } export {}; //# sourceMappingURL=index.d.ts.map