Comparing version 5.28.1 to 5.28.2
@@ -180,1 +180,2 @@ 'use strict' | ||
module.exports = request | ||
module.exports.RequestHandler = RequestHandler |
@@ -183,3 +183,3 @@ // Ported from https://github.com/nodejs/undici/pull/907 | ||
signalListenerCleanup() | ||
if (signal?.aborted) { | ||
if (signal && signal.aborted) { | ||
reject(signal.reason || Object.assign(new Error('The operation was aborted'), { name: 'AbortError' })) | ||
@@ -186,0 +186,0 @@ } else { |
'use strict' | ||
module.exports = { | ||
kConstruct: Symbol('constructable') | ||
kConstruct: require('../core/symbols').kConstruct | ||
} |
@@ -61,3 +61,4 @@ module.exports = { | ||
kHTTPConnVersion: Symbol('http connection version'), | ||
kRetryHandlerDefaultRetry: Symbol('retry agent default retry') | ||
kRetryHandlerDefaultRetry: Symbol('retry agent default retry'), | ||
kConstruct: Symbol('constructable') | ||
} |
@@ -122,13 +122,10 @@ const assert = require('assert') | ||
function URLSerializer (url, excludeFragment = false) { | ||
const href = url.href | ||
if (!excludeFragment) { | ||
return href | ||
return url.href | ||
} | ||
const hash = href.lastIndexOf('#') | ||
if (hash === -1) { | ||
return href | ||
} | ||
return href.slice(0, hash) | ||
const href = url.href | ||
const hashLength = url.hash.length | ||
return hashLength === 0 ? href : href.substring(0, href.length - hashLength) | ||
} | ||
@@ -135,0 +132,0 @@ |
@@ -5,3 +5,3 @@ // https://github.com/Ethan-Arrowood/undici-fetch | ||
const { kHeadersList } = require('../core/symbols') | ||
const { kHeadersList, kConstruct } = require('../core/symbols') | ||
const { kGuard } = require('./symbols') | ||
@@ -244,2 +244,5 @@ const { kEnumerableProperty } = require('../core/util') | ||
constructor (init = undefined) { | ||
if (init === kConstruct) { | ||
return | ||
} | ||
this[kHeadersList] = new HeadersList() | ||
@@ -246,0 +249,0 @@ |
@@ -31,3 +31,3 @@ /* globals AbortController */ | ||
const { URLSerializer } = require('./dataURL') | ||
const { kHeadersList } = require('../core/symbols') | ||
const { kHeadersList, kConstruct } = require('../core/symbols') | ||
const assert = require('assert') | ||
@@ -38,3 +38,2 @@ const { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('events') | ||
const kInit = Symbol('init') | ||
const kAbortController = Symbol('abortController') | ||
@@ -50,3 +49,3 @@ | ||
constructor (input, init = {}) { | ||
if (input === kInit) { | ||
if (input === kConstruct) { | ||
return | ||
@@ -308,3 +307,3 @@ } | ||
// 23. If init["integrity"] exists, then set request’s integrity metadata to it. | ||
if (init.integrity !== undefined && init.integrity != null) { | ||
if (init.integrity != null) { | ||
request.integrity = String(init.integrity) | ||
@@ -405,3 +404,3 @@ } | ||
// "request". | ||
this[kHeaders] = new Headers() | ||
this[kHeaders] = new Headers(kConstruct) | ||
this[kHeaders][kHeadersList] = request.headersList | ||
@@ -733,6 +732,6 @@ this[kHeaders][kGuard] = 'request' | ||
// given clonedRequest, this’s headers’s guard, and this’s relevant Realm. | ||
const clonedRequestObject = new Request(kInit) | ||
const clonedRequestObject = new Request(kConstruct) | ||
clonedRequestObject[kState] = clonedRequest | ||
clonedRequestObject[kRealm] = this[kRealm] | ||
clonedRequestObject[kHeaders] = new Headers() | ||
clonedRequestObject[kHeaders] = new Headers(kConstruct) | ||
clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList | ||
@@ -739,0 +738,0 @@ clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard] |
@@ -26,3 +26,3 @@ 'use strict' | ||
const { URLSerializer } = require('./dataURL') | ||
const { kHeadersList } = require('../core/symbols') | ||
const { kHeadersList, kConstruct } = require('../core/symbols') | ||
const assert = require('assert') | ||
@@ -148,3 +148,3 @@ const { types } = require('util') | ||
// is "response". | ||
this[kHeaders] = new Headers() | ||
this[kHeaders] = new Headers(kConstruct) | ||
this[kHeaders][kGuard] = 'response' | ||
@@ -519,7 +519,3 @@ this[kHeaders][kHeadersList] = this[kState].headersList | ||
if ( | ||
types.isAnyArrayBuffer(V) || | ||
types.isTypedArray(V) || | ||
types.isDataView(V) | ||
) { | ||
if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { | ||
return webidl.converters.BufferSource(V) | ||
@@ -526,0 +522,0 @@ } |
@@ -1,2 +0,2 @@ | ||
const assert = require('node:assert') | ||
const assert = require('assert') | ||
@@ -98,3 +98,3 @@ const { kRetryHandlerDefaultRetry } = require('../core/symbols') | ||
onBodySent (chunk) { | ||
return this.handler.onBodySent(chunk) | ||
if (this.handler.onBodySent) return this.handler.onBodySent(chunk) | ||
} | ||
@@ -101,0 +101,0 @@ |
@@ -68,2 +68,5 @@ 'use strict' | ||
const resolvedUrl = new URL(opts.uri) | ||
const { origin, port, host, username, password } = resolvedUrl | ||
if (opts.auth && opts.token) { | ||
@@ -76,7 +79,6 @@ throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token') | ||
this[kProxyHeaders]['proxy-authorization'] = opts.token | ||
} else if (username && password) { | ||
this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}` | ||
} | ||
const resolvedUrl = new URL(opts.uri) | ||
const { origin, port, host } = resolvedUrl | ||
const connect = buildConnector({ ...opts.proxyTls }) | ||
@@ -105,3 +107,3 @@ this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }) | ||
socket.on('error', () => {}).destroy() | ||
callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling')) | ||
callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)) | ||
} | ||
@@ -108,0 +110,0 @@ if (opts.protocol !== 'https:') { |
{ | ||
"name": "undici", | ||
"version": "5.28.1", | ||
"version": "5.28.2", | ||
"description": "An HTTP/1.1 client, written from scratch for Node.js", | ||
@@ -113,3 +113,3 @@ "homepage": "https://undici.nodejs.org", | ||
"form-data": "^4.0.0", | ||
"formdata-node": "^4.3.1", | ||
"formdata-node": "^6.0.3", | ||
"https-pem": "^3.0.0", | ||
@@ -119,3 +119,3 @@ "husky": "^8.0.1", | ||
"jest": "^29.0.2", | ||
"jsdom": "^22.1.0", | ||
"jsdom": "^23.0.0", | ||
"jsfuzz": "^1.0.15", | ||
@@ -129,3 +129,3 @@ "mocha": "^10.0.0", | ||
"semver": "^7.5.4", | ||
"sinon": "^16.1.0", | ||
"sinon": "^17.0.1", | ||
"snazzy": "^9.0.0", | ||
@@ -132,0 +132,0 @@ "standard": "^17.0.0", |
@@ -111,3 +111,3 @@ // based on https://github.com/Ethan-Arrowood/undici-fetch/blob/249269714db874351589d2d364a0645d5160ae71/index.d.ts (MIT license) | ||
integrity?: string | ||
signal?: AbortSignal | ||
signal?: AbortSignal | null | ||
credentials?: RequestCredentials | ||
@@ -114,0 +114,0 @@ mode?: RequestMode |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1166818
20494