@mswjs/interceptors 0.19.4 → 0.20.0

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.
Files changed (98) hide show
  1. package/lib/BatchInterceptor.d.ts +5 -5
  2. package/lib/BatchInterceptor.js +14 -59
  3. package/lib/BatchInterceptor.js.map +1 -1
  4. package/lib/Interceptor.d.ts +7 -6
  5. package/lib/Interceptor.js +39 -64
  6. package/lib/Interceptor.js.map +1 -1
  7. package/lib/RemoteHttpInterceptor.js +115 -209
  8. package/lib/RemoteHttpInterceptor.js.map +1 -1
  9. package/lib/glossary.d.ts +2 -2
  10. package/lib/interceptors/ClientRequest/NodeClientRequest.js +141 -278
  11. package/lib/interceptors/ClientRequest/NodeClientRequest.js.map +1 -1
  12. package/lib/interceptors/ClientRequest/http.get.js +5 -34
  13. package/lib/interceptors/ClientRequest/http.get.js.map +1 -1
  14. package/lib/interceptors/ClientRequest/http.request.js +6 -35
  15. package/lib/interceptors/ClientRequest/http.request.js.map +1 -1
  16. package/lib/interceptors/ClientRequest/index.js +22 -82
  17. package/lib/interceptors/ClientRequest/index.js.map +1 -1
  18. package/lib/interceptors/ClientRequest/utils/cloneIncomingMessage.js +18 -62
  19. package/lib/interceptors/ClientRequest/utils/cloneIncomingMessage.js.map +1 -1
  20. package/lib/interceptors/ClientRequest/utils/createRequest.js +10 -32
  21. package/lib/interceptors/ClientRequest/utils/createRequest.js.map +1 -1
  22. package/lib/interceptors/ClientRequest/utils/createResponse.js +6 -6
  23. package/lib/interceptors/ClientRequest/utils/createResponse.js.map +1 -1
  24. package/lib/interceptors/ClientRequest/utils/getIncomingMessageBody.js +12 -12
  25. package/lib/interceptors/ClientRequest/utils/getIncomingMessageBody.js.map +1 -1
  26. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestArgs.js +21 -52
  27. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestArgs.js.map +1 -1
  28. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestEndArgs.js +5 -9
  29. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestEndArgs.js.map +1 -1
  30. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestWriteArgs.js +6 -6
  31. package/lib/interceptors/ClientRequest/utils/normalizeClientRequestWriteArgs.js.map +1 -1
  32. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestController.d.ts +44 -0
  33. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestController.js +413 -0
  34. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestController.js.map +1 -0
  35. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestProxy.d.ts +20 -0
  36. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestProxy.js +75 -0
  37. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestProxy.js.map +1 -0
  38. package/lib/interceptors/XMLHttpRequest/index.js +23 -42
  39. package/lib/interceptors/XMLHttpRequest/index.js.map +1 -1
  40. package/lib/interceptors/XMLHttpRequest/polyfills/EventPolyfill.js +11 -12
  41. package/lib/interceptors/XMLHttpRequest/polyfills/EventPolyfill.js.map +1 -1
  42. package/lib/interceptors/XMLHttpRequest/polyfills/ProgressEventPolyfill.js +9 -27
  43. package/lib/interceptors/XMLHttpRequest/polyfills/ProgressEventPolyfill.js.map +1 -1
  44. package/lib/interceptors/XMLHttpRequest/utils/concatArrayBuffer.js +1 -1
  45. package/lib/interceptors/XMLHttpRequest/utils/concatArrayBuffer.js.map +1 -1
  46. package/lib/interceptors/XMLHttpRequest/utils/createEvent.js +7 -7
  47. package/lib/interceptors/XMLHttpRequest/utils/createEvent.js.map +1 -1
  48. package/lib/interceptors/XMLHttpRequest/utils/createResponse.js +2 -2
  49. package/lib/interceptors/XMLHttpRequest/utils/createResponse.js.map +1 -1
  50. package/lib/interceptors/XMLHttpRequest/utils/isDomParserSupportedType.js +2 -2
  51. package/lib/interceptors/XMLHttpRequest/utils/isDomParserSupportedType.js.map +1 -1
  52. package/lib/interceptors/fetch/index.js +52 -125
  53. package/lib/interceptors/fetch/index.js.map +1 -1
  54. package/lib/presets/browser.js +2 -2
  55. package/lib/presets/browser.js.map +1 -1
  56. package/lib/presets/node.js +2 -2
  57. package/lib/presets/node.js.map +1 -1
  58. package/lib/utils/AsyncEventEmitter.d.ts +9 -8
  59. package/lib/utils/AsyncEventEmitter.js +84 -190
  60. package/lib/utils/AsyncEventEmitter.js.map +1 -1
  61. package/lib/utils/bufferUtils.js +3 -3
  62. package/lib/utils/bufferUtils.js.map +1 -1
  63. package/lib/utils/cloneObject.js +2 -19
  64. package/lib/utils/cloneObject.js.map +1 -1
  65. package/lib/utils/createLazyCallback.js +14 -49
  66. package/lib/utils/createLazyCallback.js.map +1 -1
  67. package/lib/utils/createProxy.d.ts +8 -0
  68. package/lib/utils/createProxy.js +45 -0
  69. package/lib/utils/createProxy.js.map +1 -0
  70. package/lib/utils/getCleanUrl.js +1 -2
  71. package/lib/utils/getCleanUrl.js.map +1 -1
  72. package/lib/utils/getRequestOptionsByUrl.js +3 -3
  73. package/lib/utils/getRequestOptionsByUrl.js.map +1 -1
  74. package/lib/utils/getUrlByRequestOptions.js +23 -39
  75. package/lib/utils/getUrlByRequestOptions.js.map +1 -1
  76. package/lib/utils/nextTick.js +2 -2
  77. package/lib/utils/nextTick.js.map +1 -1
  78. package/lib/utils/parseJson.js +1 -1
  79. package/lib/utils/parseJson.js.map +1 -1
  80. package/lib/utils/toInteractiveRequest.js +3 -3
  81. package/lib/utils/toInteractiveRequest.js.map +1 -1
  82. package/lib/utils/uuid.js +2 -2
  83. package/lib/utils/uuid.js.map +1 -1
  84. package/package.json +2 -2
  85. package/src/BatchInterceptor.test.ts +2 -2
  86. package/src/BatchInterceptor.ts +14 -13
  87. package/src/Interceptor.ts +12 -11
  88. package/src/glossary.ts +2 -6
  89. package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +578 -0
  90. package/src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts +111 -0
  91. package/src/interceptors/XMLHttpRequest/index.ts +12 -13
  92. package/src/utils/AsyncEventEmitter.test.ts +6 -6
  93. package/src/utils/AsyncEventEmitter.ts +60 -50
  94. package/src/utils/createProxy.ts +78 -0
  95. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestOverride.d.ts +0 -93
  96. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestOverride.js +0 -567
  97. package/lib/interceptors/XMLHttpRequest/XMLHttpRequestOverride.js.map +0 -1
  98. package/src/interceptors/XMLHttpRequest/XMLHttpRequestOverride.ts +0 -684
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -23,123 +8,53 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
24
9
  });
25
10
  };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __read = (this && this.__read) || function (o, n) {
54
- var m = typeof Symbol === "function" && o[Symbol.iterator];
55
- if (!m) return o;
56
- var i = m.call(o), r, ar = [], e;
57
- try {
58
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
59
- }
60
- catch (error) { e = { error: error }; }
61
- finally {
62
- try {
63
- if (r && !r.done && (m = i["return"])) m.call(i);
64
- }
65
- finally { if (e) throw e.error; }
66
- }
67
- return ar;
68
- };
69
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
70
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
71
- if (ar || !(i in from)) {
72
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
73
- ar[i] = from[i];
74
- }
75
- }
76
- return to.concat(ar || Array.prototype.slice.call(from));
77
- };
78
- var __values = (this && this.__values) || function(o) {
79
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
80
- if (m) return m.call(o);
81
- if (o && typeof o.length === "number") return {
82
- next: function () {
83
- if (o && i >= o.length) o = void 0;
84
- return { value: o && o[i++], done: !o };
85
- }
86
- };
87
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
88
- };
89
11
  Object.defineProperty(exports, "__esModule", { value: true });
90
12
  exports.NodeClientRequest = void 0;
91
- var http_1 = require("http");
92
- var until_1 = require("@open-draft/until");
93
- var normalizeClientRequestEndArgs_1 = require("./utils/normalizeClientRequestEndArgs");
94
- var normalizeClientRequestWriteArgs_1 = require("./utils/normalizeClientRequestWriteArgs");
95
- var cloneIncomingMessage_1 = require("./utils/cloneIncomingMessage");
96
- var createResponse_1 = require("./utils/createResponse");
97
- var createRequest_1 = require("./utils/createRequest");
98
- var toInteractiveRequest_1 = require("../../utils/toInteractiveRequest");
99
- var uuid_1 = require("../../utils/uuid");
100
- var NodeClientRequest = /** @class */ (function (_super) {
101
- __extends(NodeClientRequest, _super);
102
- function NodeClientRequest(_a, options) {
103
- var _b = __read(_a, 3), url = _b[0], requestOptions = _b[1], callback = _b[2];
104
- var _this = _super.call(this, requestOptions, callback) || this;
105
- _this.chunks = [];
106
- _this.responseSource = 'mock';
107
- _this.log = options.log.extend("request " + requestOptions.method + " " + url.href);
108
- _this.log('constructing ClientRequest using options:', {
109
- url: url,
110
- requestOptions: requestOptions,
111
- callback: callback,
13
+ const http_1 = require("http");
14
+ const until_1 = require("@open-draft/until");
15
+ const normalizeClientRequestEndArgs_1 = require("./utils/normalizeClientRequestEndArgs");
16
+ const normalizeClientRequestWriteArgs_1 = require("./utils/normalizeClientRequestWriteArgs");
17
+ const cloneIncomingMessage_1 = require("./utils/cloneIncomingMessage");
18
+ const createResponse_1 = require("./utils/createResponse");
19
+ const createRequest_1 = require("./utils/createRequest");
20
+ const toInteractiveRequest_1 = require("../../utils/toInteractiveRequest");
21
+ const uuid_1 = require("../../utils/uuid");
22
+ class NodeClientRequest extends http_1.ClientRequest {
23
+ constructor([url, requestOptions, callback], options) {
24
+ super(requestOptions, callback);
25
+ this.chunks = [];
26
+ this.responseSource = 'mock';
27
+ this.log = options.log.extend(`request ${requestOptions.method} ${url.href}`);
28
+ this.log('constructing ClientRequest using options:', {
29
+ url,
30
+ requestOptions,
31
+ callback,
112
32
  });
113
- _this.url = url;
114
- _this.emitter = options.emitter;
33
+ this.url = url;
34
+ this.emitter = options.emitter;
115
35
  // Set request buffer to null by default so that GET/HEAD requests
116
36
  // without a body wouldn't suddenly get one.
117
- _this.requestBuffer = null;
37
+ this.requestBuffer = null;
118
38
  // Construct a mocked response message.
119
- _this.response = new http_1.IncomingMessage(_this.socket);
120
- return _this;
39
+ this.response = new http_1.IncomingMessage(this.socket);
121
40
  }
122
- NodeClientRequest.prototype.writeRequestBodyChunk = function (chunk, encoding) {
41
+ writeRequestBodyChunk(chunk, encoding) {
123
42
  if (chunk == null) {
124
43
  return;
125
44
  }
126
45
  if (this.requestBuffer == null) {
127
46
  this.requestBuffer = Buffer.from([]);
128
47
  }
129
- var resolvedChunk = Buffer.isBuffer(chunk)
48
+ const resolvedChunk = Buffer.isBuffer(chunk)
130
49
  ? chunk
131
50
  : Buffer.from(chunk, encoding);
132
51
  this.requestBuffer = Buffer.concat([this.requestBuffer, resolvedChunk]);
133
- };
134
- NodeClientRequest.prototype.write = function () {
52
+ }
53
+ write(...args) {
135
54
  var _a;
136
- var args = [];
137
- for (var _i = 0; _i < arguments.length; _i++) {
138
- args[_i] = arguments[_i];
139
- }
140
- var _b = __read((0, normalizeClientRequestWriteArgs_1.normalizeClientRequestWriteArgs)(args), 3), chunk = _b[0], encoding = _b[1], callback = _b[2];
141
- this.log('write:', { chunk: chunk, encoding: encoding, callback: callback });
142
- this.chunks.push({ chunk: chunk, encoding: encoding });
55
+ const [chunk, encoding, callback] = (0, normalizeClientRequestWriteArgs_1.normalizeClientRequestWriteArgs)(args);
56
+ this.log('write:', { chunk, encoding, callback });
57
+ this.chunks.push({ chunk, encoding });
143
58
  // Write each request body chunk to the internal buffer.
144
59
  this.writeRequestBodyChunk(chunk, encoding);
145
60
  this.log('chunk successfully stored!', (_a = this.requestBuffer) === null || _a === void 0 ? void 0 : _a.byteLength);
@@ -157,21 +72,16 @@ var NodeClientRequest = /** @class */ (function (_super) {
157
72
  // the Socket from sending data to a potentially existing
158
73
  // server when there is a mocked response defined.
159
74
  return true;
160
- };
161
- NodeClientRequest.prototype.end = function () {
162
- var _this = this;
163
- var args = [];
164
- for (var _i = 0; _i < arguments.length; _i++) {
165
- args[_i] = arguments[_i];
166
- }
75
+ }
76
+ end(...args) {
167
77
  this.log('end', args);
168
- var requestId = (0, uuid_1.uuidv4)();
169
- var _a = __read(normalizeClientRequestEndArgs_1.normalizeClientRequestEndArgs.apply(void 0, __spreadArray([], __read(args), false)), 3), chunk = _a[0], encoding = _a[1], callback = _a[2];
170
- this.log('normalized arguments:', { chunk: chunk, encoding: encoding, callback: callback });
78
+ const requestId = (0, uuid_1.uuidv4)();
79
+ const [chunk, encoding, callback] = (0, normalizeClientRequestEndArgs_1.normalizeClientRequestEndArgs)(...args);
80
+ this.log('normalized arguments:', { chunk, encoding, callback });
171
81
  // Write the last request body chunk passed to the "end()" method.
172
82
  this.writeRequestBodyChunk(chunk, encoding || undefined);
173
- var capturedRequest = (0, createRequest_1.createRequest)(this);
174
- var interactiveRequest = (0, toInteractiveRequest_1.toInteractiveRequest)(capturedRequest);
83
+ const capturedRequest = (0, createRequest_1.createRequest)(this);
84
+ const interactiveRequest = (0, toInteractiveRequest_1.toInteractiveRequest)(capturedRequest);
175
85
  // Prevent handling this request if it has already been handled
176
86
  // in another (parent) interceptor (like XMLHttpRequest -> ClientRequest).
177
87
  // That means some interceptor up the chain has concluded that
@@ -186,83 +96,57 @@ var NodeClientRequest = /** @class */ (function (_super) {
186
96
  this.emitter.emit('request', interactiveRequest, requestId);
187
97
  // Execute the resolver Promise like a side-effect.
188
98
  // Node.js 16 forces "ClientRequest.end" to be synchronous and return "this".
189
- (0, until_1.until)(function () { return __awaiter(_this, void 0, void 0, function () {
190
- var _a, mockedResponse;
191
- return __generator(this, function (_b) {
192
- switch (_b.label) {
193
- case 0: return [4 /*yield*/, this.emitter.untilIdle('request', function (_a) {
194
- var _b = __read(_a.args, 2), pendingRequestId = _b[1];
195
- /**
196
- * @note Await only those listeners that are relevant to this request.
197
- * This prevents extraneous parallel request from blocking the resolution
198
- * of another, unrelated request. For example, during response patching,
199
- * when request resolution is nested.
200
- */
201
- return pendingRequestId === requestId;
202
- })];
203
- case 1:
204
- _b.sent();
205
- return [4 /*yield*/, interactiveRequest.respondWith.invoked()];
206
- case 2:
207
- _a = __read.apply(void 0, [_b.sent(), 1]), mockedResponse = _a[0];
208
- this.log('event.respondWith called with:', mockedResponse);
209
- return [2 /*return*/, mockedResponse];
210
- }
99
+ (0, until_1.until)(() => __awaiter(this, void 0, void 0, function* () {
100
+ yield this.emitter.untilIdle('request', ({ args: [, pendingRequestId] }) => {
101
+ /**
102
+ * @note Await only those listeners that are relevant to this request.
103
+ * This prevents extraneous parallel request from blocking the resolution
104
+ * of another, unrelated request. For example, during response patching,
105
+ * when request resolution is nested.
106
+ */
107
+ return pendingRequestId === requestId;
211
108
  });
212
- }); }).then(function (_a) {
213
- var e_1, _b;
214
- var _c = __read(_a, 2), resolverException = _c[0], mockedResponse = _c[1];
215
- _this.log('the listeners promise awaited!');
109
+ const [mockedResponse] = yield interactiveRequest.respondWith.invoked();
110
+ this.log('event.respondWith called with:', mockedResponse);
111
+ return mockedResponse;
112
+ })).then(([resolverException, mockedResponse]) => {
113
+ this.log('the listeners promise awaited!');
216
114
  // Halt the request whenever the resolver throws an exception.
217
115
  if (resolverException) {
218
- _this.log('encountered resolver exception, aborting request...', resolverException);
219
- _this.emit('error', resolverException);
220
- _this.terminate();
221
- return _this;
116
+ this.log('encountered resolver exception, aborting request...', resolverException);
117
+ this.emit('error', resolverException);
118
+ this.terminate();
119
+ return this;
222
120
  }
223
- try {
224
- // Forward any request headers that the "request" listener
225
- // may have modified before proceeding with this request.
226
- for (var _d = __values(capturedRequest.headers), _e = _d.next(); !_e.done; _e = _d.next()) {
227
- var _f = __read(_e.value, 2), headerName = _f[0], headerValue = _f[1];
228
- _this.setHeader(headerName, headerValue);
229
- }
230
- }
231
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
232
- finally {
233
- try {
234
- if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
235
- }
236
- finally { if (e_1) throw e_1.error; }
121
+ // Forward any request headers that the "request" listener
122
+ // may have modified before proceeding with this request.
123
+ for (const [headerName, headerValue] of capturedRequest.headers) {
124
+ this.setHeader(headerName, headerValue);
237
125
  }
238
126
  if (mockedResponse) {
239
- var responseClone = mockedResponse.clone();
240
- _this.log('received mocked response:', mockedResponse);
241
- _this.responseSource = 'mock';
242
- _this.respondWith(mockedResponse);
243
- _this.log(mockedResponse.status, mockedResponse.statusText, '(MOCKED)');
127
+ const responseClone = mockedResponse.clone();
128
+ this.log('received mocked response:', mockedResponse);
129
+ this.responseSource = 'mock';
130
+ this.respondWith(mockedResponse);
131
+ this.log(mockedResponse.status, mockedResponse.statusText, '(MOCKED)');
244
132
  callback === null || callback === void 0 ? void 0 : callback();
245
- _this.log('emitting the custom "response" event...');
246
- _this.emitter.emit('response', responseClone, capturedRequest, requestId);
247
- _this.log('request (mock) is completed');
248
- return _this;
133
+ this.log('emitting the custom "response" event...');
134
+ this.emitter.emit('response', responseClone, capturedRequest, requestId);
135
+ this.log('request (mock) is completed');
136
+ return this;
249
137
  }
250
- _this.log('no mocked response received!');
251
- _this.once('response-internal', function (message) {
252
- _this.log(message.statusCode, message.statusMessage);
253
- _this.log('original response headers:', message.headers);
254
- _this.log('emitting the custom "response" event...');
255
- _this.emitter.emit('response', (0, createResponse_1.createResponse)(message), capturedRequest, requestId);
138
+ this.log('no mocked response received!');
139
+ this.once('response-internal', (message) => {
140
+ this.log(message.statusCode, message.statusMessage);
141
+ this.log('original response headers:', message.headers);
142
+ this.log('emitting the custom "response" event...');
143
+ this.emitter.emit('response', (0, createResponse_1.createResponse)(message), capturedRequest, requestId);
256
144
  });
257
- return _this.passthrough(chunk, encoding, callback);
145
+ return this.passthrough(chunk, encoding, callback);
258
146
  });
259
147
  return this;
260
- };
261
- NodeClientRequest.prototype.emit = function (event) {
262
- var data = [];
263
- for (var _i = 1; _i < arguments.length; _i++) {
264
- data[_i - 1] = arguments[_i];
265
- }
148
+ }
149
+ emit(event, ...data) {
266
150
  this.log('emit: %s', event);
267
151
  if (event === 'response') {
268
152
  this.log('found "response" event, cloning the response...');
@@ -275,21 +159,21 @@ var NodeClientRequest = /** @class */ (function (_super) {
275
159
  * 2. Any external response body listeners.
276
160
  * @see https://github.com/mswjs/interceptors/issues/161
277
161
  */
278
- var response = data[0];
279
- var firstClone = (0, cloneIncomingMessage_1.cloneIncomingMessage)(response);
280
- var secondClone = (0, cloneIncomingMessage_1.cloneIncomingMessage)(response);
162
+ const response = data[0];
163
+ const firstClone = (0, cloneIncomingMessage_1.cloneIncomingMessage)(response);
164
+ const secondClone = (0, cloneIncomingMessage_1.cloneIncomingMessage)(response);
281
165
  this.emit('response-internal', secondClone);
282
166
  this.log('response successfully cloned, emitting "response" event...');
283
- return _super.prototype.emit.apply(this, __spreadArray([event, firstClone], __read(data.slice(1)), false));
167
+ return super.emit(event, firstClone, ...data.slice(1));
284
168
  }
285
169
  catch (error) {
286
170
  this.log('error when cloning response:', error);
287
- return _super.prototype.emit.apply(this, __spreadArray([event], __read(data), false));
171
+ return super.emit(event, ...data);
288
172
  }
289
173
  }
290
174
  if (event === 'error') {
291
- var error = data[0];
292
- var errorCode = error.code || '';
175
+ const error = data[0];
176
+ const errorCode = error.code || '';
293
177
  this.log('error:\n', error);
294
178
  // Suppress certain errors while using the "mock" source.
295
179
  // For example, no need to destroy this request if it connects
@@ -305,17 +189,15 @@ var NodeClientRequest = /** @class */ (function (_super) {
305
189
  return false;
306
190
  }
307
191
  }
308
- return _super.prototype.emit.apply(this, __spreadArray([event], __read(data), false));
309
- };
192
+ return super.emit(event, ...data);
193
+ }
310
194
  /**
311
195
  * Performs the intercepted request as-is.
312
196
  * Replays the captured request body chunks,
313
197
  * still emits the internal events, and wraps
314
198
  * up the request with `super.end()`.
315
199
  */
316
- NodeClientRequest.prototype.passthrough = function (chunk, encoding, callback) {
317
- var e_2, _a;
318
- var _this = this;
200
+ passthrough(chunk, encoding, callback) {
319
201
  // Set the response source to "bypass".
320
202
  // Any errors emitted past this point are not suppressed.
321
203
  this.responseSource = 'bypass';
@@ -326,92 +208,74 @@ var NodeClientRequest = /** @class */ (function (_super) {
326
208
  return this;
327
209
  }
328
210
  this.log('writing request chunks...', this.chunks);
329
- try {
330
- // Write the request body chunks in the order of ".write()" calls.
331
- // Note that no request body has been written prior to this point
332
- // in order to prevent the Socket to communicate with a potentially
333
- // existing server.
334
- for (var _b = __values(this.chunks), _c = _b.next(); !_c.done; _c = _b.next()) {
335
- var _d = _c.value, chunk_1 = _d.chunk, encoding_1 = _d.encoding;
336
- if (encoding_1) {
337
- _super.prototype.write.call(this, chunk_1, encoding_1);
338
- }
339
- else {
340
- _super.prototype.write.call(this, chunk_1);
341
- }
211
+ // Write the request body chunks in the order of ".write()" calls.
212
+ // Note that no request body has been written prior to this point
213
+ // in order to prevent the Socket to communicate with a potentially
214
+ // existing server.
215
+ for (const { chunk, encoding } of this.chunks) {
216
+ if (encoding) {
217
+ super.write(chunk, encoding);
342
218
  }
343
- }
344
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
345
- finally {
346
- try {
347
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
219
+ else {
220
+ super.write(chunk);
348
221
  }
349
- finally { if (e_2) throw e_2.error; }
350
222
  }
351
- this.once('error', function (error) {
352
- _this.log('original request error:', error);
223
+ this.once('error', (error) => {
224
+ this.log('original request error:', error);
353
225
  });
354
- this.once('abort', function () {
355
- _this.log('original request aborted!');
226
+ this.once('abort', () => {
227
+ this.log('original request aborted!');
356
228
  });
357
- this.once('response-internal', function (message) {
358
- _this.log(message.statusCode, message.statusMessage);
359
- _this.log('original response headers:', message.headers);
229
+ this.once('response-internal', (message) => {
230
+ this.log(message.statusCode, message.statusMessage);
231
+ this.log('original response headers:', message.headers);
360
232
  });
361
233
  this.log('performing original request...');
362
234
  // This call signature is way too dynamic.
363
- return _super.prototype.end.apply(this, __spreadArray([], __read([chunk, encoding, callback].filter(Boolean)), false));
364
- };
235
+ return super.end(...[chunk, encoding, callback].filter(Boolean));
236
+ }
365
237
  /**
366
238
  * Responds to this request instance using a mocked response.
367
239
  */
368
- NodeClientRequest.prototype.respondWith = function (mockedResponse) {
369
- var _this = this;
240
+ respondWith(mockedResponse) {
370
241
  this.log('responding with a mocked response...', mockedResponse);
371
- var status = mockedResponse.status, statusText = mockedResponse.statusText, headers = mockedResponse.headers, body = mockedResponse.body;
242
+ const { status, statusText, headers, body } = mockedResponse;
372
243
  this.response.statusCode = status;
373
244
  this.response.statusMessage = statusText;
374
245
  if (headers) {
375
246
  this.response.headers = {};
376
- headers.forEach(function (headerValue, headerName) {
247
+ headers.forEach((headerValue, headerName) => {
377
248
  /**
378
249
  * @note Make sure that multi-value headers are appended correctly.
379
250
  */
380
- _this.response.rawHeaders.push(headerName, headerValue);
381
- var insensitiveHeaderName = headerName.toLowerCase();
382
- var prevHeaders = _this.response.headers[insensitiveHeaderName];
383
- _this.response.headers[insensitiveHeaderName] = prevHeaders
251
+ this.response.rawHeaders.push(headerName, headerValue);
252
+ const insensitiveHeaderName = headerName.toLowerCase();
253
+ const prevHeaders = this.response.headers[insensitiveHeaderName];
254
+ this.response.headers[insensitiveHeaderName] = prevHeaders
384
255
  ? Array.prototype.concat([], prevHeaders, headerValue)
385
256
  : headerValue;
386
257
  });
387
258
  }
388
259
  this.log('mocked response headers ready:', headers);
389
- var closeResponseStream = function () {
260
+ const closeResponseStream = () => {
390
261
  // Push "null" to indicate that the response body is complete
391
262
  // and shouldn't be written to anymore.
392
- _this.response.push(null);
393
- _this.response.complete = true;
263
+ this.response.push(null);
264
+ this.response.complete = true;
394
265
  };
395
266
  if (body) {
396
- var bodyReader_1 = body.getReader();
397
- var readNextChunk_1 = function () { return __awaiter(_this, void 0, void 0, function () {
398
- var _a, done, value;
399
- return __generator(this, function (_b) {
400
- switch (_b.label) {
401
- case 0: return [4 /*yield*/, bodyReader_1.read()];
402
- case 1:
403
- _a = _b.sent(), done = _a.done, value = _a.value;
404
- if (done) {
405
- closeResponseStream();
406
- return [2 /*return*/];
407
- }
408
- // this.response.push(Buffer.from(body))
409
- this.response.push(value);
410
- return [2 /*return*/, readNextChunk_1()];
411
- }
412
- });
413
- }); };
414
- readNextChunk_1();
267
+ const bodyReader = body.getReader();
268
+ const readNextChunk = () => __awaiter(this, void 0, void 0, function* () {
269
+ const { done, value } = yield bodyReader.read();
270
+ if (done) {
271
+ closeResponseStream();
272
+ return;
273
+ }
274
+ // this.response.push(Buffer.from(body))
275
+ this.response.push(value);
276
+ return readNextChunk();
277
+ });
278
+ readNextChunk();
415
279
  }
416
280
  else {
417
281
  closeResponseStream();
@@ -431,11 +295,11 @@ var NodeClientRequest = /** @class */ (function (_super) {
431
295
  this.emit('finish');
432
296
  this.emit('response', this.response);
433
297
  this.terminate();
434
- };
298
+ }
435
299
  /**
436
300
  * Terminates a pending request.
437
301
  */
438
- NodeClientRequest.prototype.terminate = function () {
302
+ terminate() {
439
303
  var _a;
440
304
  /**
441
305
  * @note Some request clients (e.g. Octokit) create a ClientRequest
@@ -445,18 +309,17 @@ var NodeClientRequest = /** @class */ (function (_super) {
445
309
  */
446
310
  // @ts-ignore
447
311
  (_a = this.agent) === null || _a === void 0 ? void 0 : _a.destroy();
448
- };
449
- /**
450
- * The list of internal Node.js errors to suppress while
451
- * using the "mock" response source.
452
- */
453
- NodeClientRequest.suppressErrorCodes = [
454
- 'ENOTFOUND',
455
- 'ECONNREFUSED',
456
- 'ECONNRESET',
457
- 'EAI_AGAIN',
458
- ];
459
- return NodeClientRequest;
460
- }(http_1.ClientRequest));
312
+ }
313
+ }
461
314
  exports.NodeClientRequest = NodeClientRequest;
315
+ /**
316
+ * The list of internal Node.js errors to suppress while
317
+ * using the "mock" response source.
318
+ */
319
+ NodeClientRequest.suppressErrorCodes = [
320
+ 'ENOTFOUND',
321
+ 'ECONNREFUSED',
322
+ 'ECONNRESET',
323
+ 'EAI_AGAIN',
324
+ ];
462
325
  //# sourceMappingURL=NodeClientRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClientRequest.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/NodeClientRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAqD;AACrD,2CAAyC;AAEzC,uFAI8C;AAE9C,2FAGgD;AAChD,qEAAmE;AACnE,yDAAuD;AACvD,uDAAqD;AACrD,yEAAuE;AACvE,yCAAyC;AASzC;IAAuC,qCAAa;IAyBlD,2BACE,EAA4D,EAC5D,OAA0B;YAD1B,KAAA,aAA4D,EAA3D,GAAG,QAAA,EAAE,cAAc,QAAA,EAAE,QAAQ,QAAA;QADhC,YAIE,kBAAM,cAAc,EAAE,QAAQ,CAAC,SAqBhC;QAnCO,YAAM,GAGT,EAAE,CAAA;QACC,oBAAc,GAAsB,MAAM,CAAA;QAYhD,KAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAC3B,aAAW,cAAc,CAAC,MAAM,SAAI,GAAG,CAAC,IAAM,CAC/C,CAAA;QAED,KAAI,CAAC,GAAG,CAAC,2CAA2C,EAAE;YACpD,GAAG,KAAA;YACH,cAAc,gBAAA;YACd,QAAQ,UAAA;SACT,CAAC,CAAA;QAEF,KAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAE9B,kEAAkE;QAClE,4CAA4C;QAC5C,KAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAEzB,uCAAuC;QACvC,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAe,CAAC,KAAI,CAAC,MAAO,CAAC,CAAA;;IACnD,CAAC;IAEO,iDAAqB,GAA7B,UACE,KAA6B,EAC7B,QAAyB;QAEzB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAM;SACP;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACrC;QAED,IAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEhC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,iCAAK,GAAL;;QAAM,cAA+B;aAA/B,UAA+B,EAA/B,qBAA+B,EAA/B,IAA+B;YAA/B,yBAA+B;;QAC7B,IAAA,KAAA,OAA8B,IAAA,iEAA+B,EAAC,IAAI,CAAC,IAAA,EAAlE,KAAK,QAAA,EAAE,QAAQ,QAAA,EAAE,QAAQ,QAAyC,CAAA;QACzE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;QAErC,wDAAwD;QACxD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAE3C,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,CAAC,CAAA;QAEtE;;;WAGG;QACH,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;SACzD;aAAM;YACL,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAA;SACb;QAED,kDAAkD;QAClD,yDAAyD;QACzD,kDAAkD;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+BAAG,GAAH;QAAA,iBA8GC;QA9GG,cAAY;aAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;YAAZ,yBAAY;;QACd,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAErB,IAAM,SAAS,GAAG,IAAA,aAAM,GAAE,CAAA;QAEpB,IAAA,KAAA,OAA8B,6DAA6B,wCAAI,IAAI,cAAC,EAAnE,KAAK,QAAA,EAAE,QAAQ,QAAA,EAAE,QAAQ,QAA0C,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;QAEhE,kEAAkE;QAClE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAA;QAExD,IAAM,eAAe,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;QAC3C,IAAM,kBAAkB,GAAG,IAAA,2CAAoB,EAAC,eAAe,CAAC,CAAA;QAEhE,+DAA+D;QAC/D,0EAA0E;QAC1E,8DAA8D;QAC9D,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;YAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;SACnD;QAED,4CAA4C;QAC5C,yDAAyD;QACzD,IAAI,CAAC,GAAG,CACN,oDAAoD,EACpD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CACtC,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;QAE3D,mDAAmD;QACnD,6EAA6E;QAC7E,IAAA,aAAK,EAAC;;;;4BACJ,qBAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC1B,SAAS,EACT,UAAC,EAA8B;gCAA5B,KAAA,kBAA0B,EAAjB,gBAAgB,QAAA;4BAC1B;;;;;+BAKG;4BACH,OAAO,gBAAgB,KAAK,SAAS,CAAA;wBACvC,CAAC,CACF,EAAA;;wBAXD,SAWC,CAAA;wBAEwB,qBAAM,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAA;;wBAAjE,KAAA,sBAAmB,SAA8C,KAAA,EAAhE,cAAc,QAAA;wBACrB,IAAI,CAAC,GAAG,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAA;wBAE1D,sBAAO,cAAc,EAAA;;;aACtB,CAAC,CAAC,IAAI,CAAC,UAAC,EAAmC;;gBAAnC,KAAA,aAAmC,EAAlC,iBAAiB,QAAA,EAAE,cAAc,QAAA;YACzC,KAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAE1C,8DAA8D;YAC9D,IAAI,iBAAiB,EAAE;gBACrB,KAAI,CAAC,GAAG,CACN,qDAAqD,EACrD,iBAAiB,CAClB,CAAA;gBACD,KAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;gBACrC,KAAI,CAAC,SAAS,EAAE,CAAA;gBAEhB,OAAO,KAAI,CAAA;aACZ;;gBAED,0DAA0D;gBAC1D,yDAAyD;gBACzD,KAAwC,IAAA,KAAA,SAAA,eAAe,CAAC,OAAO,CAAA,gBAAA,4BAAE;oBAAtD,IAAA,KAAA,mBAAyB,EAAxB,UAAU,QAAA,EAAE,WAAW,QAAA;oBACjC,KAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;iBACxC;;;;;;;;;YAED,IAAI,cAAc,EAAE;gBAClB,IAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,CAAA;gBAE5C,KAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAA;gBACrD,KAAI,CAAC,cAAc,GAAG,MAAM,CAAA;gBAE5B,KAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;gBAChC,KAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAEtE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAA;gBAEZ,KAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;gBACnD,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;gBAExE,KAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;gBAEvC,OAAO,KAAI,CAAA;aACZ;YAED,KAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;YAExC,KAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,OAAwB;gBACtD,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;gBACnD,KAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBAEvD,KAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;gBACnD,KAAI,CAAC,OAAO,CAAC,IAAI,CACf,UAAU,EACV,IAAA,+BAAc,EAAC,OAAO,CAAC,EACvB,eAAe,EACf,SAAS,CACV,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAI,GAAJ,UAAK,KAAa;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAChC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAE3B,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;YAE3D,IAAI;gBACF;;;;;;;mBAOG;gBACH,IAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAoB,CAAA;gBAC3C,IAAM,UAAU,GAAG,IAAA,2CAAoB,EAAC,QAAQ,CAAC,CAAA;gBACjD,IAAM,WAAW,GAAG,IAAA,2CAAoB,EAAC,QAAQ,CAAC,CAAA;gBAElD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;gBAE3C,IAAI,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;gBACtE,OAAO,iBAAM,IAAI,4BAAC,KAAK,EAAE,UAAU,UAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAC;aACvD;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAA;gBAC/C,OAAO,iBAAM,IAAI,4BAAC,KAAK,UAAK,IAAI,WAAC;aAClC;SACF;QAED,IAAI,KAAK,KAAK,OAAO,EAAE;YACrB,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAA0B,CAAA;YAC9C,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;YAElC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAE3B,yDAAyD;YACzD,8DAA8D;YAC9D,wDAAwD;YACxD,IACE,IAAI,CAAC,cAAc,KAAK,MAAM;gBAC9B,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EACxD;gBACA,qDAAqD;gBACrD,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;oBAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;iBAC1D;gBACD,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,iBAAM,IAAI,4BAAC,KAAK,UAAK,IAAI,WAAC;IACnC,CAAC;IAED;;;;;OAKG;IACK,uCAAW,GAAnB,UACE,KAAmC,EACnC,QAAgC,EAChC,QAA0C;;QAH5C,iBA+CC;QA1CC,uCAAuC;QACvC,yDAAyD;QACzD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAE9B,wCAAwC;QACxC,4EAA4E;QAC5E,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YACtC,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;;YAElD,kEAAkE;YAClE,iEAAiE;YACjE,mEAAmE;YACnE,mBAAmB;YACnB,KAAkC,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA,4BAAE;gBAApC,IAAA,aAAmB,EAAjB,OAAK,WAAA,EAAE,UAAQ,cAAA;gBAC1B,IAAI,UAAQ,EAAE;oBACZ,iBAAM,KAAK,YAAC,OAAK,EAAE,UAAQ,CAAC,CAAA;iBAC7B;qBAAM;oBACL,iBAAM,KAAK,YAAC,OAAK,CAAC,CAAA;iBACnB;aACF;;;;;;;;;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,KAAK;YACvB,KAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,KAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,OAAwB;YACtD,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;YACnD,KAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAE1C,0CAA0C;QAC1C,OAAO,iBAAM,GAAG,sCAAI,CAAC,KAAK,EAAE,QAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;IACzE,CAAC;IAED;;OAEG;IACK,uCAAW,GAAnB,UAAoB,cAAwB;QAA5C,iBAuEC;QAtEC,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,cAAc,CAAC,CAAA;QAExD,IAAA,MAAM,GAAgC,cAAc,OAA9C,EAAE,UAAU,GAAoB,cAAc,WAAlC,EAAE,OAAO,GAAW,cAAc,QAAzB,EAAE,IAAI,GAAK,cAAc,KAAnB,CAAmB;QAC5D,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,UAAU,CAAA;QAExC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAA;YAE1B,OAAO,CAAC,OAAO,CAAC,UAAC,WAAW,EAAE,UAAU;gBACtC;;mBAEG;gBACH,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;gBAEtD,IAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;gBACtD,IAAM,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;gBAChE,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,WAAW;oBACxD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC;oBACtD,CAAC,CAAC,WAAW,CAAA;YACjB,CAAC,CAAC,CAAA;SACH;QACD,IAAI,CAAC,GAAG,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAA;QAEnD,IAAM,mBAAmB,GAAG;YAC1B,6DAA6D;YAC7D,uCAAuC;YACvC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC/B,CAAC,CAAA;QAED,IAAI,IAAI,EAAE;YACR,IAAM,YAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YACnC,IAAM,eAAa,GAAG;;;;gCACI,qBAAM,YAAU,CAAC,IAAI,EAAE,EAAA;;4BAAzC,KAAkB,SAAuB,EAAvC,IAAI,UAAA,EAAE,KAAK,WAAA;4BAEnB,IAAI,IAAI,EAAE;gCACR,mBAAmB,EAAE,CAAA;gCACrB,sBAAM;6BACP;4BAED,wCAAwC;4BACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;4BAEzB,sBAAO,eAAa,EAAE,EAAA;;;iBACvB,CAAA;YAED,eAAa,EAAE,CAAA;SAChB;aAAM;YACL,mBAAmB,EAAE,CAAA;SACtB;QAED;;;;;WAKG;QACH,aAAa;QACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE;YAC3C,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpC,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED;;OAEG;IACK,qCAAS,GAAjB;;QACE;;;;;WAKG;QACH,aAAa;QACb,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAA;IACvB,CAAC;IAtZD;;;OAGG;IACI,oCAAkB,GAAG;QAC1B,WAAW;QACX,cAAc;QACd,YAAY;QACZ,WAAW;KACZ,CAAA;IA8YH,wBAAC;CAAA,AAxZD,CAAuC,oBAAa,GAwZnD;AAxZY,8CAAiB"}
1
+ {"version":3,"file":"NodeClientRequest.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/NodeClientRequest.ts"],"names":[],"mappings":"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"}