Update checked-in dependencies
This commit is contained in:
parent
7fdbca3ba3
commit
357e0ceaa9
360 changed files with 25673 additions and 917 deletions
53
node_modules/nock/lib/create_response.js
generated
vendored
Normal file
53
node_modules/nock/lib/create_response.js
generated
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
'use strict'
|
||||
|
||||
const { STATUS_CODES } = require('http')
|
||||
|
||||
/**
|
||||
* Creates a Fetch API `Response` instance from the given
|
||||
* `http.IncomingMessage` instance.
|
||||
* Inspired by: https://github.com/mswjs/interceptors/blob/04152ed914f8041272b6e92ed374216b8177e1b2/src/interceptors/ClientRequest/utils/createResponse.ts#L8
|
||||
*/
|
||||
|
||||
/**
|
||||
* Response status codes for responses that cannot have body.
|
||||
* @see https://fetch.spec.whatwg.org/#statuses
|
||||
*/
|
||||
const responseStatusCodesWithoutBody = [204, 205, 304]
|
||||
|
||||
/**
|
||||
* @param {import('http').IncomingMessage} message
|
||||
* @param {AbortSignal} signal
|
||||
*/
|
||||
function createResponse(message, signal) {
|
||||
const responseBodyOrNull = responseStatusCodesWithoutBody.includes(
|
||||
message.statusCode || 200,
|
||||
)
|
||||
? null
|
||||
: new ReadableStream({
|
||||
start(controller) {
|
||||
message.on('data', chunk => controller.enqueue(chunk))
|
||||
message.on('end', () => controller.close())
|
||||
message.on('error', error => controller.error(error))
|
||||
signal.addEventListener('abort', () => message.destroy(signal.reason))
|
||||
},
|
||||
cancel() {
|
||||
message.destroy()
|
||||
},
|
||||
})
|
||||
|
||||
const rawHeaders = new Headers()
|
||||
for (let i = 0; i < message.rawHeaders.length; i += 2) {
|
||||
rawHeaders.append(message.rawHeaders[i], message.rawHeaders[i + 1])
|
||||
}
|
||||
|
||||
// @mswjs/interceptors supports rawHeaders. https://github.com/mswjs/interceptors/pull/598
|
||||
const response = new Response(responseBodyOrNull, {
|
||||
status: message.statusCode,
|
||||
statusText: message.statusMessage || STATUS_CODES[message.statusCode],
|
||||
headers: rawHeaders,
|
||||
})
|
||||
|
||||
return response
|
||||
}
|
||||
|
||||
module.exports = { createResponse }
|
||||
Loading…
Add table
Add a link
Reference in a new issue