Files
wehub-resource-sync 70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:11 +08:00

66 lines
1.3 KiB
TypeScript

import {
constructHeaders,
constructRedirects,
} from "@cloudflare/workers-shared/utils/configuration/constructConfiguration";
import { ANALYTICS_VERSION } from "./constants";
import type { Metadata } from "./types";
import type {
Logger,
ParsedHeaders,
ParsedRedirects,
} from "@cloudflare/workers-shared/utils/configuration/types";
const noopLogger = {
debug: (_message: string) => {},
log: (_message: string) => {},
info: (_message: string) => {},
warn: (_message: string) => {},
error: (_error: Error) => {},
};
export function createMetadataObject({
redirects,
headers,
redirectsFile,
headersFile,
webAnalyticsToken,
deploymentId,
failOpen,
logger = noopLogger,
}: {
redirects?: ParsedRedirects;
headers?: ParsedHeaders;
redirectsFile?: string;
headersFile?: string;
webAnalyticsToken?: string;
deploymentId?: string;
failOpen?: boolean;
logger?: Logger;
}): Metadata {
return {
...constructRedirects({ redirects, redirectsFile, logger }),
...constructHeaders({ headers, headersFile, logger }),
...constructWebAnalytics({ webAnalyticsToken, logger }),
deploymentId,
failOpen,
};
}
function constructWebAnalytics({
webAnalyticsToken,
}: {
webAnalyticsToken?: string;
logger: Logger;
}) {
if (!webAnalyticsToken) {
return {};
}
return {
analytics: {
version: ANALYTICS_VERSION,
token: webAnalyticsToken,
},
};
}