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
66 lines
1.3 KiB
TypeScript
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,
|
|
},
|
|
};
|
|
}
|