@mswjs/interceptors 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,7 @@ function request(protocol, resolver, observer) {
32
32
  for (var _i = 0; _i < arguments.length; _i++) {
33
33
  args[_i] = arguments[_i];
34
34
  }
35
- log('intercepted request:', args);
35
+ log('request call (protocol "%s"):', protocol, args);
36
36
  var clientRequestArgs = normalizeClientRequestArgs_1.normalizeClientRequestArgs.apply(void 0, __spreadArray([protocol + ":"], __read(args)));
37
37
  return new NodeClientRequest_1.NodeClientRequest(clientRequestArgs, {
38
38
  observer: observer,
@@ -1 +1 @@
1
- {"version":3,"file":"http.request.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/http.request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAG7B,yDAAiE;AACjE,iFAG2C;AAE3C,IAAM,GAAG,GAAG,aAAK,CAAC,cAAc,CAAC,CAAA;AAEjC,SAAgB,OAAO,CACrB,QAAkB,EAClB,QAAkB,EAClB,QAAkB;IAElB,OAAO;QAAC,cAA0B;aAA1B,UAA0B,EAA1B,qBAA0B,EAA1B,IAA0B;YAA1B,yBAA0B;;QAChC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;QAEjC,IAAM,iBAAiB,GAAG,uDAA0B,8BAC/C,QAAQ,MAAG,UACX,IAAI,GACR,CAAA;QACD,OAAO,IAAI,qCAAiB,CAAC,iBAAiB,EAAE;YAC9C,QAAQ,UAAA;YACR,QAAQ,UAAA;SACT,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAjBD,0BAiBC"}
1
+ {"version":3,"file":"http.request.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/http.request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAG7B,yDAAiE;AACjE,iFAG2C;AAE3C,IAAM,GAAG,GAAG,aAAK,CAAC,cAAc,CAAC,CAAA;AAEjC,SAAgB,OAAO,CACrB,QAAkB,EAClB,QAAkB,EAClB,QAAkB;IAElB,OAAO;QAAC,cAA0B;aAA1B,UAA0B,EAA1B,qBAA0B,EAA1B,IAA0B;YAA1B,yBAA0B;;QAChC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEpD,IAAM,iBAAiB,GAAG,uDAA0B,8BAC/C,QAAQ,MAAG,UACX,IAAI,GACR,CAAA;QACD,OAAO,IAAI,qCAAiB,CAAC,iBAAiB,EAAE;YAC9C,QAAQ,UAAA;YACR,QAAQ,UAAA;SACT,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAjBD,0BAiBC"}
@@ -160,8 +160,22 @@ function normalizeClientRequestArgs(defaultProtocol) {
160
160
  options.agent = agent;
161
161
  log('resolved fallback agent:', agent);
162
162
  }
163
+ /**
164
+ * Ensure that the default Agent is always set.
165
+ * This prevents the protocol mismatch for requests with { agent: false },
166
+ * where the global Agent is inferred.
167
+ * @see https://github.com/mswjs/msw/issues/1150
168
+ * @see https://github.com/nodejs/node/blob/418ff70b810f0e7112d48baaa72932a56cfa213b/lib/_http_client.js#L130
169
+ * @see https://github.com/nodejs/node/blob/418ff70b810f0e7112d48baaa72932a56cfa213b/lib/_http_client.js#L157-L159
170
+ */
171
+ if (!options._defaultAgent) {
172
+ log('has no default agent, setting the default agent for "%s"', options.protocol);
173
+ options._defaultAgent =
174
+ options.protocol === 'https:' ? https_1.globalAgent : http_1.globalAgent;
175
+ }
163
176
  log('successfully resolved url:', url.href);
164
177
  log('successfully resolved options:', options);
178
+ log('successfully resolved callback:', callback);
165
179
  return [url, options, callback];
166
180
  }
167
181
  exports.normalizeClientRequestArgs = normalizeClientRequestArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeClientRequestArgs.js","sourceRoot":"","sources":["../../../../src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalizeClientRequestArgs.js","sourceRoot":"","sources":["../../../../src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mswjs/interceptors",
3
3
  "description": "Low-level HTTP/HTTPS/XHR/fetch request interception library.",
4
- "version": "0.14.0",
4
+ "version": "0.14.1",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "author": "Artem Zakharchenko",
@@ -15,7 +15,7 @@ export function request(
15
15
  observer: Observer
16
16
  ) {
17
17
  return (...args: ClientRequestArgs): ClientRequest => {
18
- log('intercepted request:', args)
18
+ log('request call (protocol "%s"):', protocol, args)
19
19
 
20
20
  const clientRequestArgs = normalizeClientRequestArgs(
21
21
  `${protocol}:`,
@@ -1,5 +1,6 @@
1
1
  import { parse } from 'url'
2
- import { Agent as HttpsAgent } from 'https'
2
+ import { globalAgent as httpGlobalAgent, RequestOptions } from 'http'
3
+ import { Agent as HttpsAgent, globalAgent as httpsGlobalAgent } from 'https'
3
4
  import { getUrlByRequestOptions } from '../../../utils/getUrlByRequestOptions'
4
5
  import { normalizeClientRequestArgs } from './normalizeClientRequestArgs'
5
6
 
@@ -192,8 +193,9 @@ test('handles [URL, RequestOptions, callback] input', () => {
192
193
  expect(url.href).toEqual('https://mswjs.io/resource')
193
194
 
194
195
  // Options must be preserved.
195
- expect(options).toEqual({
196
+ expect(options).toEqual<RequestOptions>({
196
197
  agent: false,
198
+ _defaultAgent: httpsGlobalAgent,
197
199
  protocol: url.protocol,
198
200
  method: 'GET',
199
201
  headers: {
@@ -294,12 +296,11 @@ test('sets fallback Agent based on the URL protocol', () => {
294
296
  'https:',
295
297
  'https://github.com'
296
298
  )
299
+ const agent = options.agent as HttpsAgent
297
300
 
298
- expect(options.agent).toBeInstanceOf(HttpsAgent)
299
- expect(
300
- // @ts-expect-error Protocol is an internal property.
301
- options.agent.protocol
302
- ).toEqual(url.protocol)
301
+ expect(agent).toBeInstanceOf(HttpsAgent)
302
+ expect(agent).toHaveProperty('defaultPort', 443)
303
+ expect(agent).toHaveProperty('protocol', url.protocol)
303
304
  })
304
305
 
305
306
  test('does not set any fallback Agent given "agent: false" option', () => {
@@ -312,6 +313,41 @@ test('does not set any fallback Agent given "agent: false" option', () => {
312
313
  expect(options.agent).toEqual(false)
313
314
  })
314
315
 
316
+ test('sets the default Agent for HTTP request', () => {
317
+ const [, options] = normalizeClientRequestArgs(
318
+ 'http:',
319
+ 'http://github.com',
320
+ {}
321
+ )
322
+
323
+ expect(options._defaultAgent).toEqual(httpGlobalAgent)
324
+ })
325
+
326
+ test('sets the default Agent for HTTPS request', () => {
327
+ const [, options] = normalizeClientRequestArgs(
328
+ 'https:',
329
+ 'https://github.com',
330
+ {}
331
+ )
332
+
333
+ expect(options._defaultAgent).toEqual(httpsGlobalAgent)
334
+ })
335
+
336
+ test('preserves a custom default Agent when set', () => {
337
+ const [, options] = normalizeClientRequestArgs(
338
+ 'https:',
339
+ 'https://github.com',
340
+ {
341
+ /**
342
+ * @note Intentionally incorrect Agent for HTTPS request.
343
+ */
344
+ _defaultAgent: httpGlobalAgent,
345
+ }
346
+ )
347
+
348
+ expect(options._defaultAgent).toEqual(httpGlobalAgent)
349
+ })
350
+
315
351
  test('merges URL-based RequestOptions with the custom RequestOptions', () => {
316
352
  const [url, options] = normalizeClientRequestArgs(
317
353
  'https:',
@@ -1,6 +1,14 @@
1
1
  import { debug } from 'debug'
2
- import { Agent as HttpAgent, IncomingMessage } from 'http'
3
- import { RequestOptions, Agent as HttpsAgent } from 'https'
2
+ import {
3
+ Agent as HttpAgent,
4
+ globalAgent as httpGlobalAgent,
5
+ IncomingMessage,
6
+ } from 'http'
7
+ import {
8
+ RequestOptions,
9
+ Agent as HttpsAgent,
10
+ globalAgent as httpsGlobalAgent,
11
+ } from 'https'
4
12
  import { Url as LegacyURL } from 'url'
5
13
  import { getRequestOptionsByUrl } from '../../../utils/getRequestOptionsByUrl'
6
14
  import {
@@ -198,8 +206,27 @@ export function normalizeClientRequestArgs(
198
206
  log('resolved fallback agent:', agent)
199
207
  }
200
208
 
209
+ /**
210
+ * Ensure that the default Agent is always set.
211
+ * This prevents the protocol mismatch for requests with { agent: false },
212
+ * where the global Agent is inferred.
213
+ * @see https://github.com/mswjs/msw/issues/1150
214
+ * @see https://github.com/nodejs/node/blob/418ff70b810f0e7112d48baaa72932a56cfa213b/lib/_http_client.js#L130
215
+ * @see https://github.com/nodejs/node/blob/418ff70b810f0e7112d48baaa72932a56cfa213b/lib/_http_client.js#L157-L159
216
+ */
217
+ if (!options._defaultAgent) {
218
+ log(
219
+ 'has no default agent, setting the default agent for "%s"',
220
+ options.protocol
221
+ )
222
+
223
+ options._defaultAgent =
224
+ options.protocol === 'https:' ? httpsGlobalAgent : httpGlobalAgent
225
+ }
226
+
201
227
  log('successfully resolved url:', url.href)
202
228
  log('successfully resolved options:', options)
229
+ log('successfully resolved callback:', callback)
203
230
 
204
231
  return [url, options, callback]
205
232
  }