22 lines
539 B
TypeScript
22 lines
539 B
TypeScript
export function redactAnalyticsUrl(value: string | null): string | null {
|
|
if (!value) {
|
|
return value;
|
|
}
|
|
|
|
try {
|
|
const url = new URL(value);
|
|
return `${url.origin}${url.pathname}${url.hash}`;
|
|
} catch {
|
|
try {
|
|
const url = new URL(value, "https://redaction.local");
|
|
return `${url.pathname}${url.hash}`;
|
|
} catch {
|
|
return value.split("?")[0] ?? value;
|
|
}
|
|
}
|
|
}
|
|
|
|
export function redactAnalyticsCookie(value: string): string {
|
|
return value.length <= 5 ? "[redacted]" : `${value.slice(0, 5)}...`;
|
|
}
|