fix: avoid control-regex lint failure in ws header sanitizer (openclaw#15594) thanks @TsekaLuk

This commit is contained in:
Peter Steinberger
2026-02-13 18:32:14 +01:00
parent 122fb924e2
commit 8e0d765d1d

View File

@@ -19,15 +19,29 @@ import { attachGatewayWsMessageHandler } from "./ws-connection/message-handler.j
type SubsystemLogger = ReturnType<typeof createSubsystemLogger>;
const LOG_HEADER_MAX_LEN = 300;
const LOG_HEADER_CONTROL_REGEX = /[\u0000-\u001f\u007f-\u009f]/g;
const LOG_HEADER_FORMAT_REGEX = /\p{Cf}/gu;
function replaceControlChars(value: string): string {
let cleaned = "";
for (const char of value) {
const codePoint = char.codePointAt(0);
if (
codePoint !== undefined &&
(codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f))
) {
cleaned += " ";
continue;
}
cleaned += char;
}
return cleaned;
}
const sanitizeLogValue = (value: string | undefined): string | undefined => {
if (!value) {
return undefined;
}
const cleaned = value
.replace(LOG_HEADER_CONTROL_REGEX, " ")
const cleaned = replaceControlChars(value)
.replace(LOG_HEADER_FORMAT_REGEX, " ")
.replace(/\s+/g, " ")
.trim();