mirror of
https://github.com/open-webui/open-webui.git
synced 2026-09-21 00:21:19 +00:00
12 lines
503 B
TypeScript
12 lines
503 B
TypeScript
/**
|
|
* Prepend a Content-Security-Policy <meta> tag to HTML.
|
|
* First CSP meta tag wins per spec, so any existing CSP
|
|
* in the HTML is effectively overridden.
|
|
*/
|
|
export function injectCsp(html: string, csp: string): string {
|
|
if (!csp) return html;
|
|
const escaped = csp.replace(/"/g, '"');
|
|
const tag = `<meta http-equiv="Content-Security-Policy" content="${escaped}">`;
|
|
const idx = html.indexOf('<head>');
|
|
return idx !== -1 ? html.slice(0, idx + 6) + tag + html.slice(idx + 6) : tag + html;
|
|
}
|