@mswjs/interceptors 0.13.3 → 0.13.6

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.
@@ -188,6 +188,7 @@ var NodeClientRequest = /** @class */ (function (_super) {
188
188
  this.respondWith(mockedResponse);
189
189
  this.log(isomorphicResponse.status, isomorphicResponse.statusText, isomorphicResponse.body, '(MOCKED)');
190
190
  callback === null || callback === void 0 ? void 0 : callback();
191
+ this.log('emitting the custom "response" event...');
191
192
  this.observer.emit('response', isomorphicRequest, isomorphicResponse);
192
193
  return [2 /*return*/];
193
194
  }
@@ -236,6 +237,7 @@ var NodeClientRequest = /** @class */ (function (_super) {
236
237
  responseBody = _a.sent();
237
238
  this.log(response.statusCode, response.statusMessage, responseBody);
238
239
  this.log('original response headers:', response.headers);
240
+ this.log('emitting the custom "response" event...');
239
241
  this.observer.emit('response', isomorphicRequest, {
240
242
  status: response.statusCode || 200,
241
243
  statusText: response.statusMessage || 'OK',
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClientRequest.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/NodeClientRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeClientRequest.js","sourceRoot":"","sources":["../../../src/interceptors/ClientRequest/NodeClientRequest.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,7 @@ export declare const IS_CLONE: unique symbol;
4
4
  export interface ClonedIncomingMessage extends IncomingMessage {
5
5
  [IS_CLONE]: boolean;
6
6
  }
7
+ /**
8
+ * Clones a given `http.IncomingMessage` instance.
9
+ */
7
10
  export declare function cloneIncomingMessage(message: IncomingMessage): ClonedIncomingMessage;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __read = (this && this.__read) || function (o, n) {
14
3
  var m = typeof Symbol === "function" && o[Symbol.iterator];
15
4
  if (!m) return o;
@@ -44,20 +33,60 @@ var __values = (this && this.__values) || function(o) {
44
33
  };
45
34
  Object.defineProperty(exports, "__esModule", { value: true });
46
35
  exports.cloneIncomingMessage = exports.IS_CLONE = void 0;
36
+ var http_1 = require("http");
47
37
  var stream_1 = require("stream");
48
38
  exports.IS_CLONE = Symbol('isClone');
39
+ /**
40
+ * Clones a given `http.IncomingMessage` instance.
41
+ */
49
42
  function cloneIncomingMessage(message) {
43
+ var clone = message.pipe(new stream_1.PassThrough());
44
+ // Inherit all direct "IncomingMessage" properties.
45
+ inheritProperties(message, clone);
46
+ // Deeply inherit the message prototypes (Readable, Stream, EventEmitter, etc.).
47
+ var clonedPrototype = Object.create(http_1.IncomingMessage.prototype);
48
+ getPrototypes(clone).forEach(function (prototype) {
49
+ inheritProperties(prototype, clonedPrototype);
50
+ });
51
+ Object.setPrototypeOf(clone, clonedPrototype);
52
+ Object.defineProperty(clone, exports.IS_CLONE, {
53
+ enumerable: true,
54
+ value: true,
55
+ });
56
+ return clone;
57
+ }
58
+ exports.cloneIncomingMessage = cloneIncomingMessage;
59
+ /**
60
+ * Returns a list of all prototypes the given object extends.
61
+ */
62
+ function getPrototypes(source) {
63
+ var prototypes = [];
64
+ var current = source;
65
+ while ((current = Object.getPrototypeOf(current))) {
66
+ prototypes.push(current);
67
+ }
68
+ return prototypes;
69
+ }
70
+ /**
71
+ * Inherits a given target object properties and symbols
72
+ * onto the given source object.
73
+ * @param source Object which should acquire properties.
74
+ * @param target Object to inherit the properties from.
75
+ */
76
+ function inheritProperties(source, target) {
50
77
  var e_1, _a;
51
- var stream = message.pipe(new stream_1.PassThrough());
52
- var properties = __spreadArray(__spreadArray([], __read(Object.getOwnPropertyNames(message))), __read(Object.getOwnPropertySymbols(message)));
78
+ var properties = __spreadArray(__spreadArray([], __read(Object.getOwnPropertyNames(source))), __read(Object.getOwnPropertySymbols(source)));
53
79
  try {
54
80
  for (var properties_1 = __values(properties), properties_1_1 = properties_1.next(); !properties_1_1.done; properties_1_1 = properties_1.next()) {
55
- var propertyName = properties_1_1.value;
56
- if (stream.hasOwnProperty(propertyName)) {
81
+ var property = properties_1_1.value;
82
+ if (target.hasOwnProperty(property)) {
83
+ continue;
84
+ }
85
+ var descriptor = Object.getOwnPropertyDescriptor(source, property);
86
+ if (!descriptor) {
57
87
  continue;
58
88
  }
59
- var propertyDescriptor = Object.getOwnPropertyDescriptor(message, propertyName);
60
- Object.defineProperty(stream, propertyName, __assign(__assign({}, propertyDescriptor), { value: message[propertyName] }));
89
+ Object.defineProperty(target, property, descriptor);
61
90
  }
62
91
  }
63
92
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -67,11 +96,5 @@ function cloneIncomingMessage(message) {
67
96
  }
68
97
  finally { if (e_1) throw e_1.error; }
69
98
  }
70
- Object.defineProperty(stream, exports.IS_CLONE, {
71
- enumerable: true,
72
- value: true,
73
- });
74
- return stream;
75
99
  }
76
- exports.cloneIncomingMessage = cloneIncomingMessage;
77
100
  //# sourceMappingURL=cloneIncomingMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloneIncomingMessage.js","sourceRoot":"","sources":["../../../../src/interceptors/ClientRequest/utils/cloneIncomingMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAoC;AAEvB,QAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;AAMzC,SAAgB,oBAAoB,CAClC,OAAwB;;IAExB,IAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAW,EAAE,CAAC,CAAA;IAC9C,IAAM,UAAU,GAAG,uCACd,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,WACnC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACT,CAAA;;QAEjC,KAA2B,IAAA,eAAA,SAAA,UAAU,CAAA,sCAAA,8DAAE;YAAlC,IAAM,YAAY,uBAAA;YACrB,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACvC,SAAQ;aACT;YAED,IAAM,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CACxD,OAAO,EACP,YAAY,CACb,CAAA;YAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,wBACrC,kBAAkB,KACrB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,IAC5B,CAAA;SACH;;;;;;;;;IAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAQ,EAAE;QACtC,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,OAAO,MAA0C,CAAA;AACnD,CAAC;AA/BD,oDA+BC"}
1
+ {"version":3,"file":"cloneIncomingMessage.js","sourceRoot":"","sources":["../../../../src/interceptors/ClientRequest/utils/cloneIncomingMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAsC;AACtC,iCAAoC;AAEvB,QAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;AAMzC;;GAEG;AACH,SAAgB,oBAAoB,CAClC,OAAwB;IAExB,IAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAW,EAAE,CAAC,CAAA;IAE7C,mDAAmD;IACnD,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAEjC,gFAAgF;IAChF,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAe,CAAC,SAAS,CAAC,CAAA;IAChE,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,SAAS;QACrC,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAE7C,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAQ,EAAE;QACrC,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,OAAO,KAAyC,CAAA;AAClD,CAAC;AArBD,oDAqBC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,IAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,IAAI,OAAO,GAAG,MAAM,CAAA;IAEpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE;QACjD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACzB;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc;;IACvD,IAAM,UAAU,0CACX,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAClC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EACxC,CAAA;;QAED,KAAuB,IAAA,eAAA,SAAA,UAAU,CAAA,sCAAA,8DAAE;YAA9B,IAAM,QAAQ,uBAAA;YACjB,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACnC,SAAQ;aACT;YAED,IAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACpE,IAAI,CAAC,UAAU,EAAE;gBACf,SAAQ;aACT;YAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;SACpD;;;;;;;;;AACH,CAAC"}
@@ -56,30 +56,30 @@ var interceptFetch = function (observer, resolver) {
56
56
  var pureFetch = window.fetch;
57
57
  debug('replacing "window.fetch"...');
58
58
  window.fetch = function (input, init) { return __awaiter(void 0, void 0, void 0, function () {
59
- var ref, url, method, isoRequest, response, isomorphicResponse;
59
+ var request, url, method, isoRequest, response, isomorphicResponse;
60
60
  var _a;
61
61
  return __generator(this, function (_b) {
62
62
  switch (_b.label) {
63
63
  case 0:
64
- ref = new Request(input, init);
64
+ request = new Request(input, init);
65
65
  url = typeof input === 'string' ? input : input.url;
66
- method = (init === null || init === void 0 ? void 0 : init.method) || 'GET';
66
+ method = request.method;
67
67
  debug('[%s] %s', method, url);
68
68
  _a = {
69
69
  id: uuid_1.uuidv4(),
70
70
  url: new URL(url, location.origin),
71
71
  method: method,
72
- headers: new headers_polyfill_1.Headers((init === null || init === void 0 ? void 0 : init.headers) || {}),
73
- credentials: (init === null || init === void 0 ? void 0 : init.credentials) || 'same-origin'
72
+ headers: new headers_polyfill_1.Headers(request.headers),
73
+ credentials: request.credentials
74
74
  };
75
- return [4 /*yield*/, ref.text()];
75
+ return [4 /*yield*/, request.clone().text()];
76
76
  case 1:
77
77
  isoRequest = (_a.body = _b.sent(),
78
78
  _a);
79
79
  debug('isomorphic request', isoRequest);
80
80
  observer.emit('request', isoRequest);
81
81
  debug('awaiting for the mocked response...');
82
- return [4 /*yield*/, resolver(isoRequest, ref)];
82
+ return [4 /*yield*/, resolver(isoRequest, request)];
83
83
  case 2:
84
84
  response = _b.sent();
85
85
  debug('mocked response', response);
@@ -94,7 +94,7 @@ var interceptFetch = function (observer, resolver) {
94
94
  headers: headers_polyfill_1.flattenHeadersObject(response.headers || {}) }))];
95
95
  }
96
96
  debug('no mocked response found, bypassing...');
97
- return [2 /*return*/, pureFetch(input, init).then(function (response) { return __awaiter(void 0, void 0, void 0, function () {
97
+ return [2 /*return*/, pureFetch(request).then(function (response) { return __awaiter(void 0, void 0, void 0, function () {
98
98
  var cloneResponse, _a, _b, _c;
99
99
  return __generator(this, function (_d) {
100
100
  switch (_d.label) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interceptors/fetch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAKyB;AAMzB,2DAAyD;AACzD,yCAAyC;AAEzC,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;AAEhC,IAAM,cAAc,GAAgB,UAAC,QAAQ,EAAE,QAAQ;IAC5D,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;IAE9B,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAEpC,MAAM,CAAC,KAAK,GAAG,UAAO,KAAK,EAAE,IAAI;;;;;;oBACzB,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;oBAC9B,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;oBACnD,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,KAAK,CAAA;oBAEpC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;;wBAG3B,EAAE,EAAE,aAAM,EAAE;wBACZ,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;wBAClC,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,IAAI,0BAAO,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,EAAE,CAAC;wBACzC,WAAW,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,KAAI,aAAa;;oBACzC,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;oBANlB,UAAU,IAMd,OAAI,GAAE,SAAgB;2BACvB;oBACD,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;oBACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;oBAEpC,KAAK,CAAC,qCAAqC,CAAC,CAAA;oBAC3B,qBAAM,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,EAAA;;oBAA1C,QAAQ,GAAG,SAA+B;oBAChD,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;oBAElC,IAAI,QAAQ,EAAE;wBACN,kBAAkB,GAAG,6BAAa,CAAC,QAAQ,CAAC,CAAA;wBAClD,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAA;wBAExD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAA;wBAEzD,sBAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,wBAC5B,kBAAkB;gCACrB,yEAAyE;gCACzE,0EAA0E;gCAC1E,qCAAqC;gCACrC,OAAO,EAAE,uCAAoB,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,IACrD,EAAA;qBACH;oBAED,KAAK,CAAC,wCAAwC,CAAC,CAAA;oBAE/C,sBAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAO,QAAQ;;;;;wCAC1C,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;wCACtC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;wCAEhD,KAAA,CAAA,KAAA,QAAQ,CAAA,CAAC,IAAI,CAAA;8CACX,UAAU;4CACV,UAAU;wCACV,qBAAM,sBAAsB,CAAC,aAAa,CAAC,EAAA;;wCAH7C,wBAGE,SAA2C,GAC5C,CAAA;wCACD,sBAAO,QAAQ,EAAA;;;6BAChB,CAAC,EAAA;;;SACH,CAAA;IAED,OAAO;QACL,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;IAC1B,CAAC,CAAA;AACH,CAAC,CAAA;AA7DY,QAAA,cAAc,kBA6D1B;AAED,SAAe,sBAAsB,CACnC,QAAkB;;;;;;;wBAGhB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,OAAO,EAAE,kCAAe,CAAC,kCAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;oBACrD,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;wBAJ7B,uBAIE,OAAI,GAAE,SAAqB;6BAC5B;;;;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interceptors/fetch/index.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.13.3",
4
+ "version": "0.13.6",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "author": "Artem Zakharchenko",
@@ -51,20 +51,21 @@
51
51
  "express-rate-limit": "^5.5.1",
52
52
  "got": "^11.8.3",
53
53
  "jest": "^27.4.3",
54
- "node-fetch": "2.6.1",
54
+ "node-fetch": "2.6.7",
55
55
  "page-with": "^0.5.1",
56
56
  "rimraf": "^3.0.2",
57
57
  "simple-git-hooks": "^2.7.0",
58
58
  "superagent": "^6.1.0",
59
59
  "supertest": "^6.1.6",
60
60
  "ts-jest": "^27.1.1",
61
- "typescript": "4.3.5"
61
+ "typescript": "4.3.5",
62
+ "wait-for-expect": "^3.0.2"
62
63
  },
63
64
  "dependencies": {
64
65
  "@open-draft/until": "^1.0.3",
65
66
  "@xmldom/xmldom": "^0.7.5",
66
67
  "debug": "^4.3.3",
67
- "headers-polyfill": "^3.0.3",
68
+ "headers-polyfill": "^3.0.4",
68
69
  "outvariant": "^1.2.1",
69
70
  "strict-event-emitter": "^0.2.0"
70
71
  },
@@ -147,6 +147,7 @@ export class NodeClientRequest extends ClientRequest {
147
147
 
148
148
  callback?.()
149
149
 
150
+ this.log('emitting the custom "response" event...')
150
151
  this.observer.emit('response', isomorphicRequest, isomorphicResponse)
151
152
 
152
153
  return
@@ -189,6 +190,7 @@ export class NodeClientRequest extends ClientRequest {
189
190
  this.log(response.statusCode, response.statusMessage, responseBody)
190
191
  this.log('original response headers:', response.headers)
191
192
 
193
+ this.log('emitting the custom "response" event...')
192
194
  this.observer.emit('response', isomorphicRequest, {
193
195
  status: response.statusCode || 200,
194
196
  statusText: response.statusMessage || 'OK',
@@ -1,13 +1,20 @@
1
1
  import { Socket } from 'net'
2
2
  import { IncomingMessage } from 'http'
3
+ import { Stream, Readable, EventEmitter } from 'stream'
3
4
  import { cloneIncomingMessage, IS_CLONE } from './cloneIncomingMessage'
4
5
 
5
6
  test('clones a given IncomingMessage', () => {
6
- const source = new IncomingMessage(new Socket())
7
- source.statusCode = 200
8
- source.statusMessage = 'OK'
9
- source.headers = { 'x-powered-by': 'msw' }
10
- const clone = cloneIncomingMessage(source)
7
+ const message = new IncomingMessage(new Socket())
8
+ message.statusCode = 200
9
+ message.statusMessage = 'OK'
10
+ message.headers = { 'x-powered-by': 'msw' }
11
+ const clone = cloneIncomingMessage(message)
12
+
13
+ // Prototypes must be preserved.
14
+ expect(clone).toBeInstanceOf(IncomingMessage)
15
+ expect(clone).toBeInstanceOf(EventEmitter)
16
+ expect(clone).toBeInstanceOf(Stream)
17
+ expect(clone).toBeInstanceOf(Readable)
11
18
 
12
19
  expect(clone.statusCode).toEqual(200)
13
20
  expect(clone.statusMessage).toEqual('OK')
@@ -15,6 +22,4 @@ test('clones a given IncomingMessage', () => {
15
22
 
16
23
  // Cloned IncomingMessage must be marked respectively.
17
24
  expect(clone[IS_CLONE]).toEqual(true)
18
-
19
- expect(clone).toHaveProperty('_events')
20
25
  })
@@ -7,35 +7,68 @@ export interface ClonedIncomingMessage extends IncomingMessage {
7
7
  [IS_CLONE]: boolean
8
8
  }
9
9
 
10
+ /**
11
+ * Clones a given `http.IncomingMessage` instance.
12
+ */
10
13
  export function cloneIncomingMessage(
11
14
  message: IncomingMessage
12
15
  ): ClonedIncomingMessage {
13
- const stream = message.pipe(new PassThrough())
14
- const properties = [
15
- ...Object.getOwnPropertyNames(message),
16
- ...Object.getOwnPropertySymbols(message),
17
- ] as Array<keyof IncomingMessage>
18
-
19
- for (const propertyName of properties) {
20
- if (stream.hasOwnProperty(propertyName)) {
21
- continue
22
- }
16
+ const clone = message.pipe(new PassThrough())
23
17
 
24
- const propertyDescriptor = Object.getOwnPropertyDescriptor(
25
- message,
26
- propertyName
27
- )
18
+ // Inherit all direct "IncomingMessage" properties.
19
+ inheritProperties(message, clone)
28
20
 
29
- Object.defineProperty(stream, propertyName, {
30
- ...propertyDescriptor,
31
- value: message[propertyName],
32
- })
33
- }
21
+ // Deeply inherit the message prototypes (Readable, Stream, EventEmitter, etc.).
22
+ const clonedPrototype = Object.create(IncomingMessage.prototype)
23
+ getPrototypes(clone).forEach((prototype) => {
24
+ inheritProperties(prototype, clonedPrototype)
25
+ })
26
+ Object.setPrototypeOf(clone, clonedPrototype)
34
27
 
35
- Object.defineProperty(stream, IS_CLONE, {
28
+ Object.defineProperty(clone, IS_CLONE, {
36
29
  enumerable: true,
37
30
  value: true,
38
31
  })
39
32
 
40
- return stream as unknown as ClonedIncomingMessage
33
+ return clone as unknown as ClonedIncomingMessage
34
+ }
35
+
36
+ /**
37
+ * Returns a list of all prototypes the given object extends.
38
+ */
39
+ function getPrototypes(source: object): object[] {
40
+ const prototypes: object[] = []
41
+ let current = source
42
+
43
+ while ((current = Object.getPrototypeOf(current))) {
44
+ prototypes.push(current)
45
+ }
46
+
47
+ return prototypes
48
+ }
49
+
50
+ /**
51
+ * Inherits a given target object properties and symbols
52
+ * onto the given source object.
53
+ * @param source Object which should acquire properties.
54
+ * @param target Object to inherit the properties from.
55
+ */
56
+ function inheritProperties(source: object, target: object): void {
57
+ const properties = [
58
+ ...Object.getOwnPropertyNames(source),
59
+ ...Object.getOwnPropertySymbols(source),
60
+ ]
61
+
62
+ for (const property of properties) {
63
+ if (target.hasOwnProperty(property)) {
64
+ continue
65
+ }
66
+
67
+ const descriptor = Object.getOwnPropertyDescriptor(source, property)
68
+ if (!descriptor) {
69
+ continue
70
+ }
71
+
72
+ Object.defineProperty(target, property, descriptor)
73
+ }
41
74
  }
@@ -20,9 +20,9 @@ export const interceptFetch: Interceptor = (observer, resolver) => {
20
20
  debug('replacing "window.fetch"...')
21
21
 
22
22
  window.fetch = async (input, init) => {
23
- const ref = new Request(input, init)
23
+ const request = new Request(input, init)
24
24
  const url = typeof input === 'string' ? input : input.url
25
- const method = init?.method || 'GET'
25
+ const method = request.method
26
26
 
27
27
  debug('[%s] %s', method, url)
28
28
 
@@ -30,15 +30,15 @@ export const interceptFetch: Interceptor = (observer, resolver) => {
30
30
  id: uuidv4(),
31
31
  url: new URL(url, location.origin),
32
32
  method: method,
33
- headers: new Headers(init?.headers || {}),
34
- credentials: init?.credentials || 'same-origin',
35
- body: await ref.text(),
33
+ headers: new Headers(request.headers),
34
+ credentials: request.credentials,
35
+ body: await request.clone().text(),
36
36
  }
37
37
  debug('isomorphic request', isoRequest)
38
38
  observer.emit('request', isoRequest)
39
39
 
40
40
  debug('awaiting for the mocked response...')
41
- const response = await resolver(isoRequest, ref)
41
+ const response = await resolver(isoRequest, request)
42
42
  debug('mocked response', response)
43
43
 
44
44
  if (response) {
@@ -58,7 +58,7 @@ export const interceptFetch: Interceptor = (observer, resolver) => {
58
58
 
59
59
  debug('no mocked response found, bypassing...')
60
60
 
61
- return pureFetch(input, init).then(async (response) => {
61
+ return pureFetch(request).then(async (response) => {
62
62
  const cloneResponse = response.clone()
63
63
  debug('original fetch performed', cloneResponse)
64
64