diff options
| author | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
| commit | 434aa8343fdcbb4d5002f934979913c099489bee (patch) | |
| tree | 55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/websocket-extensions/lib/parser.js | |
| parent | 893c388d4e99442a36005e5971a87730623f946e (diff) | |
sdk, del
Diffstat (limited to 'frontend-old/node_modules/websocket-extensions/lib/parser.js')
| -rw-r--r-- | frontend-old/node_modules/websocket-extensions/lib/parser.js | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/frontend-old/node_modules/websocket-extensions/lib/parser.js b/frontend-old/node_modules/websocket-extensions/lib/parser.js deleted file mode 100644 index 533767e..0000000 --- a/frontend-old/node_modules/websocket-extensions/lib/parser.js +++ /dev/null @@ -1,103 +0,0 @@ -'use strict'; - -var TOKEN = /([!#\$%&'\*\+\-\.\^_`\|~0-9A-Za-z]+)/, - NOTOKEN = /([^!#\$%&'\*\+\-\.\^_`\|~0-9A-Za-z])/g, - QUOTED = /"((?:\\[\x00-\x7f]|[^\x00-\x08\x0a-\x1f\x7f"\\])*)"/, - PARAM = new RegExp(TOKEN.source + '(?:=(?:' + TOKEN.source + '|' + QUOTED.source + '))?'), - EXT = new RegExp(TOKEN.source + '(?: *; *' + PARAM.source + ')*', 'g'), - EXT_LIST = new RegExp('^' + EXT.source + '(?: *, *' + EXT.source + ')*$'), - NUMBER = /^-?(0|[1-9][0-9]*)(\.[0-9]+)?$/; - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -var Parser = { - parseHeader: function(header) { - var offers = new Offers(); - if (header === '' || header === undefined) return offers; - - if (!EXT_LIST.test(header)) - throw new SyntaxError('Invalid Sec-WebSocket-Extensions header: ' + header); - - var values = header.match(EXT); - - values.forEach(function(value) { - var params = value.match(new RegExp(PARAM.source, 'g')), - name = params.shift(), - offer = {}; - - params.forEach(function(param) { - var args = param.match(PARAM), key = args[1], data; - - if (args[2] !== undefined) { - data = args[2]; - } else if (args[3] !== undefined) { - data = args[3].replace(/\\/g, ''); - } else { - data = true; - } - if (NUMBER.test(data)) data = parseFloat(data); - - if (hasOwnProperty.call(offer, key)) { - offer[key] = [].concat(offer[key]); - offer[key].push(data); - } else { - offer[key] = data; - } - }, this); - offers.push(name, offer); - }, this); - - return offers; - }, - - serializeParams: function(name, params) { - var values = []; - - var print = function(key, value) { - if (value instanceof Array) { - value.forEach(function(v) { print(key, v) }); - } else if (value === true) { - values.push(key); - } else if (typeof value === 'number') { - values.push(key + '=' + value); - } else if (NOTOKEN.test(value)) { - values.push(key + '="' + value.replace(/"/g, '\\"') + '"'); - } else { - values.push(key + '=' + value); - } - }; - - for (var key in params) print(key, params[key]); - - return [name].concat(values).join('; '); - } -}; - -var Offers = function() { - this._byName = {}; - this._inOrder = []; -}; - -Offers.prototype.push = function(name, params) { - if (!hasOwnProperty.call(this._byName, name)) - this._byName[name] = []; - - this._byName[name].push(params); - this._inOrder.push({ name: name, params: params }); -}; - -Offers.prototype.eachOffer = function(callback, context) { - var list = this._inOrder; - for (var i = 0, n = list.length; i < n; i++) - callback.call(context, list[i].name, list[i].params); -}; - -Offers.prototype.byName = function(name) { - return this._byName[name] || []; -}; - -Offers.prototype.toArray = function() { - return this._inOrder.slice(); -}; - -module.exports = Parser; |
