diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-11-18 04:38:31 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-11-18 04:38:31 +0100 |
commit | cadc507fad2fee59b23d1d8e73c472c077f468fc (patch) | |
tree | 42b1c0c0ccf5e3aa7a843a3766d4d19b6a7ade8e /g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js | |
parent | Improve providers (diff) | |
download | gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar.gz gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar.bz2 gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar.lz gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar.xz gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.tar.zst gpt4free-cadc507fad2fee59b23d1d8e73c472c077f468fc.zip |
Diffstat (limited to 'g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js')
-rw-r--r-- | g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js b/g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js deleted file mode 100644 index ef783e82..00000000 --- a/g4f/Provider/npm/node_modules/undici/lib/api/api-upgrade.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict' - -const { InvalidArgumentError, RequestAbortedError, SocketError } = require('../core/errors') -const { AsyncResource } = require('async_hooks') -const util = require('../core/util') -const { addSignal, removeSignal } = require('./abort-signal') -const assert = require('assert') - -class UpgradeHandler extends AsyncResource { - constructor (opts, callback) { - if (!opts || typeof opts !== 'object') { - throw new InvalidArgumentError('invalid opts') - } - - if (typeof callback !== 'function') { - throw new InvalidArgumentError('invalid callback') - } - - const { signal, opaque, responseHeaders } = opts - - if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { - throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget') - } - - super('UNDICI_UPGRADE') - - this.responseHeaders = responseHeaders || null - this.opaque = opaque || null - this.callback = callback - this.abort = null - this.context = null - - addSignal(this, signal) - } - - onConnect (abort, context) { - if (!this.callback) { - throw new RequestAbortedError() - } - - this.abort = abort - this.context = null - } - - onHeaders () { - throw new SocketError('bad upgrade', null) - } - - onUpgrade (statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this - - assert.strictEqual(statusCode, 101) - - removeSignal(this) - - this.callback = null - const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders) - this.runInAsyncScope(callback, null, null, { - headers, - socket, - opaque, - context - }) - } - - onError (err) { - const { callback, opaque } = this - - removeSignal(this) - - if (callback) { - this.callback = null - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }) - }) - } - } -} - -function upgrade (opts, callback) { - if (callback === undefined) { - return new Promise((resolve, reject) => { - upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data) - }) - }) - } - - try { - const upgradeHandler = new UpgradeHandler(opts, callback) - this.dispatch({ - ...opts, - method: opts.method || 'GET', - upgrade: opts.protocol || 'Websocket' - }, upgradeHandler) - } catch (err) { - if (typeof callback !== 'function') { - throw err - } - const opaque = opts && opts.opaque - queueMicrotask(() => callback(err, { opaque })) - } -} - -module.exports = upgrade |