Files
recflare/packages/hono-helpers/src/helpers/url.ts
T
Devin Zuczek 8e644a5c20 Initial commit
2026-06-08 18:23:40 -04:00

30 lines
829 B
TypeScript

/** Redacts keys from a url */
export function redactUrl(_url: URL | string): URL {
let url: URL
if (typeof _url === 'string') {
url = new URL(_url)
} else {
url = new URL(_url.toString()) // clone
}
for (const [key] of url.searchParams) {
if (/key|token|secret|password|passwd|auth|credential/i.test(key)) {
url.searchParams.set(key, 'REDACTED')
}
}
return url
}
/**
* Converts a URLSearchParams object into an array of "key=value" strings.
*
* @param searchParams - The URLSearchParams object to convert.
* @returns An array of strings, where each string is in the format "key=value".
*/
export function searchParamsToArray(searchParams: URLSearchParams): string[] {
const result: string[] = []
for (const [key, value] of searchParams.entries()) {
result.push(`${key}=${value}`)
}
return result
}