diff --git a/ext/http/00_serve.js b/ext/http/00_serve.js index a26c6604e0..422ce2fe31 100644 --- a/ext/http/00_serve.js +++ b/ext/http/00_serve.js @@ -682,8 +682,8 @@ function serveHttpOn(context, callback) { // Run the server const finished = (async () => { + const rid = context.serverRid; while (true) { - const rid = context.serverRid; let req; try { // Attempt to pull as many requests out of the queue as possible before awaiting. This API is diff --git a/ext/webidl/00_webidl.js b/ext/webidl/00_webidl.js index ca1c7c6064..9454dc3923 100644 --- a/ext/webidl/00_webidl.js +++ b/ext/webidl/00_webidl.js @@ -59,7 +59,6 @@ const { ReflectHas, ReflectOwnKeys, RegExpPrototypeTest, - RegExpPrototypeExec, SafeRegExp, SafeSet, SetPrototypeEntries, @@ -403,11 +402,19 @@ converters.DOMString = function (V, prefix, context, opts = {}) { return String(V); }; -// deno-lint-ignore no-control-regex -const IS_BYTE_STRING = new SafeRegExp(/^[\x00-\xFF]*$/); +function isByteString(input) { + for (let i = 0; i < input.length; i++) { + if (StringPrototypeCharCodeAt(input, i) > 255) { + // If a character code is greater than 255, it means the string is not a byte string. + return false; + } + } + return true; +} + converters.ByteString = (V, prefix, context, opts) => { const x = converters.DOMString(V, prefix, context, opts); - if (RegExpPrototypeExec(IS_BYTE_STRING, x) === null) { + if (!isByteString(x)) { throw makeException( TypeError, "is not a valid ByteString",