chore: update deps
This commit is contained in:
95
node_modules/undici/lib/handler/wrap-handler.js
generated
vendored
Normal file
95
node_modules/undici/lib/handler/wrap-handler.js
generated
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
'use strict'
|
||||
|
||||
const { InvalidArgumentError } = require('../core/errors')
|
||||
|
||||
module.exports = class WrapHandler {
|
||||
#handler
|
||||
|
||||
constructor (handler) {
|
||||
this.#handler = handler
|
||||
}
|
||||
|
||||
static wrap (handler) {
|
||||
// TODO (fix): More checks...
|
||||
return handler.onRequestStart ? handler : new WrapHandler(handler)
|
||||
}
|
||||
|
||||
// Unwrap Interface
|
||||
|
||||
onConnect (abort, context) {
|
||||
return this.#handler.onConnect?.(abort, context)
|
||||
}
|
||||
|
||||
onHeaders (statusCode, rawHeaders, resume, statusMessage) {
|
||||
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage)
|
||||
}
|
||||
|
||||
onUpgrade (statusCode, rawHeaders, socket) {
|
||||
return this.#handler.onUpgrade?.(statusCode, rawHeaders, socket)
|
||||
}
|
||||
|
||||
onData (data) {
|
||||
return this.#handler.onData?.(data)
|
||||
}
|
||||
|
||||
onComplete (trailers) {
|
||||
return this.#handler.onComplete?.(trailers)
|
||||
}
|
||||
|
||||
onError (err) {
|
||||
if (!this.#handler.onError) {
|
||||
throw err
|
||||
}
|
||||
|
||||
return this.#handler.onError?.(err)
|
||||
}
|
||||
|
||||
// Wrap Interface
|
||||
|
||||
onRequestStart (controller, context) {
|
||||
this.#handler.onConnect?.((reason) => controller.abort(reason), context)
|
||||
}
|
||||
|
||||
onRequestUpgrade (controller, statusCode, headers, socket) {
|
||||
const rawHeaders = []
|
||||
for (const [key, val] of Object.entries(headers)) {
|
||||
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val))
|
||||
}
|
||||
|
||||
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket)
|
||||
}
|
||||
|
||||
onResponseStart (controller, statusCode, headers, statusMessage) {
|
||||
const rawHeaders = []
|
||||
for (const [key, val] of Object.entries(headers)) {
|
||||
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val))
|
||||
}
|
||||
|
||||
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
|
||||
controller.pause()
|
||||
}
|
||||
}
|
||||
|
||||
onResponseData (controller, data) {
|
||||
if (this.#handler.onData?.(data) === false) {
|
||||
controller.pause()
|
||||
}
|
||||
}
|
||||
|
||||
onResponseEnd (controller, trailers) {
|
||||
const rawTrailers = []
|
||||
for (const [key, val] of Object.entries(trailers)) {
|
||||
rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val))
|
||||
}
|
||||
|
||||
this.#handler.onComplete?.(rawTrailers)
|
||||
}
|
||||
|
||||
onResponseError (controller, err) {
|
||||
if (!this.#handler.onError) {
|
||||
throw new InvalidArgumentError('invalid onError method')
|
||||
}
|
||||
|
||||
this.#handler.onError?.(err)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user