happy-dom 16.3.0 → 16.4.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.
Files changed (57) hide show
  1. package/cjs/browser/types/IBrowserSettings.d.ts +2 -0
  2. package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
  3. package/cjs/browser/types/IOptionalBrowserSettings.d.ts +2 -0
  4. package/cjs/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  5. package/cjs/fetch/Fetch.cjs +29 -4
  6. package/cjs/fetch/Fetch.cjs.map +1 -1
  7. package/cjs/fetch/Fetch.d.ts +1 -0
  8. package/cjs/fetch/Fetch.d.ts.map +1 -1
  9. package/cjs/fetch/SyncFetch.cjs +28 -2
  10. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  11. package/cjs/fetch/SyncFetch.d.ts +1 -0
  12. package/cjs/fetch/SyncFetch.d.ts.map +1 -1
  13. package/cjs/fetch/types/IFetchInterceptor.cjs +3 -0
  14. package/cjs/fetch/types/IFetchInterceptor.cjs.map +1 -0
  15. package/cjs/fetch/types/IFetchInterceptor.d.ts +57 -0
  16. package/cjs/fetch/types/IFetchInterceptor.d.ts.map +1 -0
  17. package/cjs/html-parser/HTMLParser.cjs +18 -0
  18. package/cjs/html-parser/HTMLParser.cjs.map +1 -1
  19. package/cjs/html-parser/HTMLParser.d.ts.map +1 -1
  20. package/cjs/index.cjs.map +1 -1
  21. package/cjs/index.d.ts +3 -1
  22. package/cjs/index.d.ts.map +1 -1
  23. package/cjs/window/BrowserWindow.cjs +3 -3
  24. package/cjs/window/BrowserWindow.cjs.map +1 -1
  25. package/lib/browser/types/IBrowserSettings.d.ts +2 -0
  26. package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
  27. package/lib/browser/types/IOptionalBrowserSettings.d.ts +2 -0
  28. package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  29. package/lib/fetch/Fetch.d.ts +1 -0
  30. package/lib/fetch/Fetch.d.ts.map +1 -1
  31. package/lib/fetch/Fetch.js +29 -4
  32. package/lib/fetch/Fetch.js.map +1 -1
  33. package/lib/fetch/SyncFetch.d.ts +1 -0
  34. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  35. package/lib/fetch/SyncFetch.js +28 -2
  36. package/lib/fetch/SyncFetch.js.map +1 -1
  37. package/lib/fetch/types/IFetchInterceptor.d.ts +57 -0
  38. package/lib/fetch/types/IFetchInterceptor.d.ts.map +1 -0
  39. package/lib/fetch/types/IFetchInterceptor.js +2 -0
  40. package/lib/fetch/types/IFetchInterceptor.js.map +1 -0
  41. package/lib/html-parser/HTMLParser.d.ts.map +1 -1
  42. package/lib/html-parser/HTMLParser.js +18 -0
  43. package/lib/html-parser/HTMLParser.js.map +1 -1
  44. package/lib/index.d.ts +3 -1
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/index.js.map +1 -1
  47. package/lib/window/BrowserWindow.js +3 -3
  48. package/lib/window/BrowserWindow.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/browser/types/IBrowserSettings.ts +3 -0
  51. package/src/browser/types/IOptionalBrowserSettings.ts +3 -0
  52. package/src/fetch/Fetch.ts +32 -5
  53. package/src/fetch/SyncFetch.ts +29 -2
  54. package/src/fetch/types/IFetchInterceptor.ts +60 -0
  55. package/src/html-parser/HTMLParser.ts +25 -0
  56. package/src/index.ts +4 -0
  57. package/src/window/BrowserWindow.ts +3 -3
@@ -1387,13 +1387,13 @@ export default class BrowserWindow extends EventTarget {
1387
1387
  this[PropertySymbol.asyncTaskManager] = null;
1388
1388
  this[PropertySymbol.mutationObservers] = [];
1389
1389
  // Disconnects nodes from the document, so that they can be garbage collected.
1390
- const childNodes = this.document.body[PropertySymbol.nodeArray];
1390
+ const childNodes = this.document[PropertySymbol.nodeArray];
1391
1391
  while (childNodes.length > 0) {
1392
1392
  // Makes sure that something won't be triggered by the disconnect.
1393
1393
  if (childNodes[0].disconnectedCallback) {
1394
1394
  delete childNodes[0].disconnectedCallback;
1395
1395
  }
1396
- this.document.body.removeChild(childNodes[0]);
1396
+ this.document[PropertySymbol.removeChild](childNodes[0]);
1397
1397
  }
1398
1398
  // Create some empty elements for scripts that are still running.
1399
1399
  const htmlElement = this.document.createElement('html');
@@ -1401,7 +1401,7 @@ export default class BrowserWindow extends EventTarget {
1401
1401
  const bodyElement = this.document.createElement('body');
1402
1402
  htmlElement.appendChild(headElement);
1403
1403
  htmlElement.appendChild(bodyElement);
1404
- this.document.body.appendChild(htmlElement);
1404
+ this.document[PropertySymbol.appendChild](htmlElement);
1405
1405
  if (this.location[PropertySymbol.destroy]) {
1406
1406
  this.location[PropertySymbol.destroy]();
1407
1407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWindow.js","sourceRoot":"","sources":["../../src/window/BrowserWindow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserWindow.js","sourceRoot":"","sources":["../../src/window/BrowserWindow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "16.3.0",
3
+ "version": "16.4.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -1,5 +1,6 @@
1
1
  import BrowserErrorCaptureEnum from '../enums/BrowserErrorCaptureEnum.js';
2
2
  import BrowserNavigationCrossOriginPolicyEnum from '../enums/BrowserNavigationCrossOriginPolicyEnum.js';
3
+ import IFetchInterceptor from '../../fetch/types/IFetchInterceptor.js';
3
4
 
4
5
  /**
5
6
  * Browser settings.
@@ -40,6 +41,8 @@ export default interface IBrowserSettings {
40
41
  * @see https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
41
42
  */
42
43
  disableSameOriginPolicy: boolean;
44
+
45
+ interceptor?: IFetchInterceptor;
43
46
  };
44
47
 
45
48
  /**
@@ -1,5 +1,6 @@
1
1
  import BrowserErrorCaptureEnum from '../enums/BrowserErrorCaptureEnum.js';
2
2
  import BrowserNavigationCrossOriginPolicyEnum from '../enums/BrowserNavigationCrossOriginPolicyEnum.js';
3
+ import IFetchInterceptor from '../../fetch/types/IFetchInterceptor.js';
3
4
 
4
5
  export default interface IOptionalBrowserSettings {
5
6
  /** Disables JavaScript evaluation. */
@@ -34,6 +35,8 @@ export default interface IOptionalBrowserSettings {
34
35
  * @see https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
35
36
  */
36
37
  disableSameOriginPolicy?: boolean;
38
+
39
+ interceptor?: IFetchInterceptor;
37
40
  };
38
41
 
39
42
  /**
@@ -26,6 +26,7 @@ import FetchResponseHeaderUtility from './utilities/FetchResponseHeaderUtility.j
26
26
  import FetchHTTPSCertificate from './certificate/FetchHTTPSCertificate.js';
27
27
  import { Buffer } from 'buffer';
28
28
  import FetchBodyUtility from './utilities/FetchBodyUtility.js';
29
+ import IFetchInterceptor from './types/IFetchInterceptor.js';
29
30
 
30
31
  const LAST_CHUNK = Buffer.from('0\r\n\r\n');
31
32
 
@@ -39,7 +40,7 @@ const LAST_CHUNK = Buffer.from('0\r\n\r\n');
39
40
  */
40
41
  export default class Fetch {
41
42
  private reject: (reason: Error) => void | null = null;
42
- private resolve: (value: Response | Promise<Response>) => void | null = null;
43
+ private resolve: (value: Response | Promise<Response>) => Promise<void> = null;
43
44
  private listeners = {
44
45
  onSignalAbort: this.onSignalAbort.bind(this)
45
46
  };
@@ -50,6 +51,7 @@ export default class Fetch {
50
51
  private nodeResponse: IncomingMessage | null = null;
51
52
  private response: Response | null = null;
52
53
  private responseHeaders: Headers | null = null;
54
+ private interceptor?: IFetchInterceptor;
53
55
  private request: Request;
54
56
  private redirectCount = 0;
55
57
  private disableCache: boolean;
@@ -99,6 +101,7 @@ export default class Fetch {
99
101
  options.disableSameOriginPolicy ??
100
102
  this.#browserFrame.page.context.browser.settings.fetch.disableSameOriginPolicy ??
101
103
  false;
104
+ this.interceptor = this.#browserFrame.page.context.browser.settings.fetch.interceptor;
102
105
  }
103
106
 
104
107
  /**
@@ -108,6 +111,15 @@ export default class Fetch {
108
111
  */
109
112
  public async send(): Promise<Response> {
110
113
  FetchRequestReferrerUtility.prepareRequest(new URL(this.#window.location.href), this.request);
114
+ const beforeRequestResponse = this.interceptor?.beforeAsyncRequest
115
+ ? await this.interceptor.beforeAsyncRequest({
116
+ request: this.request,
117
+ window: this.#window
118
+ })
119
+ : undefined;
120
+ if (beforeRequestResponse instanceof Response) {
121
+ return beforeRequestResponse;
122
+ }
111
123
  FetchRequestValidationUtility.validateSchema(this.request);
112
124
 
113
125
  if (this.request.signal.aborted) {
@@ -122,7 +134,14 @@ export default class Fetch {
122
134
  this.response = new this.#window.Response(result.buffer, {
123
135
  headers: { 'Content-Type': result.type }
124
136
  });
125
- return this.response;
137
+ const interceptedResponse = this.interceptor?.afterAsyncResponse
138
+ ? await this.interceptor.afterAsyncResponse({
139
+ window: this.#window,
140
+ response: this.response,
141
+ request: this.request
142
+ })
143
+ : undefined;
144
+ return interceptedResponse instanceof Response ? interceptedResponse : this.response;
126
145
  }
127
146
 
128
147
  // Security check for "https" to "http" requests.
@@ -365,9 +384,9 @@ export default class Fetch {
365
384
  throw new this.#window.Error('Fetch already sent.');
366
385
  }
367
386
 
368
- this.resolve = (response: Response | Promise<Response>): void => {
387
+ this.resolve = async (response: Response | Promise<Response>): Promise<void> => {
369
388
  // We can end up here when closing down the browser frame and there is an ongoing request.
370
- // Therefore we need to check if browserFrame.page.context is still available.
389
+ // Therefore, we need to check if browserFrame.page.context is still available.
371
390
  if (
372
391
  !this.disableCache &&
373
392
  response instanceof Response &&
@@ -382,8 +401,16 @@ export default class Fetch {
382
401
  waitingForBody: !response[PropertySymbol.buffer] && !!response.body
383
402
  });
384
403
  }
404
+
405
+ const interceptedResponse = this.interceptor?.afterAsyncResponse
406
+ ? await this.interceptor.afterAsyncResponse({
407
+ window: this.#window,
408
+ response: await response,
409
+ request: this.request
410
+ })
411
+ : undefined;
385
412
  this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
386
- resolve(response);
413
+ resolve(interceptedResponse instanceof Response ? interceptedResponse : response);
387
414
  };
388
415
  this.reject = (error: Error): void => {
389
416
  this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
@@ -20,6 +20,7 @@ import Zlib from 'zlib';
20
20
  import FetchResponseRedirectUtility from './utilities/FetchResponseRedirectUtility.js';
21
21
  import FetchCORSUtility from './utilities/FetchCORSUtility.js';
22
22
  import Fetch from './Fetch.js';
23
+ import IFetchInterceptor from './types/IFetchInterceptor.js';
23
24
 
24
25
  interface ISyncHTTPResponse {
25
26
  error: string;
@@ -39,6 +40,7 @@ export default class SyncFetch {
39
40
  private redirectCount = 0;
40
41
  private disableCache: boolean;
41
42
  private disableSameOriginPolicy: boolean;
43
+ private interceptor?: IFetchInterceptor;
42
44
  #browserFrame: IBrowserFrame;
43
45
  #window: BrowserWindow;
44
46
  #unfilteredHeaders: Headers | null = null;
@@ -84,6 +86,7 @@ export default class SyncFetch {
84
86
  options.disableSameOriginPolicy ??
85
87
  this.#browserFrame.page.context.browser.settings.fetch.disableSameOriginPolicy ??
86
88
  false;
89
+ this.interceptor = this.#browserFrame.page.context.browser.settings.fetch.interceptor;
87
90
  }
88
91
 
89
92
  /**
@@ -93,6 +96,15 @@ export default class SyncFetch {
93
96
  */
94
97
  public send(): ISyncResponse {
95
98
  FetchRequestReferrerUtility.prepareRequest(new URL(this.#window.location.href), this.request);
99
+ const beforeRequestResponse = this.interceptor?.beforeSyncRequest
100
+ ? this.interceptor.beforeSyncRequest({
101
+ request: this.request,
102
+ window: this.#window
103
+ })
104
+ : undefined;
105
+ if (typeof beforeRequestResponse === 'object') {
106
+ return beforeRequestResponse;
107
+ }
96
108
  FetchRequestValidationUtility.validateSchema(this.request);
97
109
 
98
110
  if (this.request.signal.aborted) {
@@ -104,7 +116,7 @@ export default class SyncFetch {
104
116
 
105
117
  if (this.request[PropertySymbol.url].protocol === 'data:') {
106
118
  const result = DataURIParser.parse(this.request.url);
107
- return {
119
+ const response = {
108
120
  status: 200,
109
121
  statusText: 'OK',
110
122
  ok: true,
@@ -113,6 +125,14 @@ export default class SyncFetch {
113
125
  headers: new Headers({ 'Content-Type': result.type }),
114
126
  body: result.buffer
115
127
  };
128
+ const interceptedResponse = this.interceptor?.afterSyncResponse
129
+ ? this.interceptor.afterSyncResponse({
130
+ window: this.#window,
131
+ response,
132
+ request: this.request
133
+ })
134
+ : undefined;
135
+ return typeof interceptedResponse === 'object' ? interceptedResponse : response;
116
136
  }
117
137
 
118
138
  // Security check for "https" to "http" requests.
@@ -416,7 +436,14 @@ export default class SyncFetch {
416
436
  });
417
437
  }
418
438
 
419
- return redirectedResponse;
439
+ const interceptedResponse = this.interceptor?.afterSyncResponse
440
+ ? this.interceptor.afterSyncResponse({
441
+ window: this.#window,
442
+ response: redirectedResponse,
443
+ request: this.request
444
+ })
445
+ : undefined;
446
+ return typeof interceptedResponse === 'object' ? interceptedResponse : redirectedResponse;
420
447
  }
421
448
 
422
449
  /**
@@ -0,0 +1,60 @@
1
+ import Request from '../Request.js';
2
+ import BrowserWindow from '../../window/BrowserWindow.js';
3
+ import Response from '../Response.js';
4
+ import ISyncResponse from './ISyncResponse.js';
5
+
6
+ export default interface IFetchInterceptor {
7
+ /**
8
+ * Hook dispatched before making an async request.
9
+ * It can be used for modifying the request, providing a response without making a request or for logging.
10
+ *
11
+ * @param context Contains the request and the window from where the request was made.
12
+ *
13
+ * @returns Promise that can resolve to a response to be used instead of sending out the response.
14
+ */
15
+ beforeAsyncRequest?: (context: {
16
+ request: Request;
17
+ window: BrowserWindow;
18
+ }) => Promise<Response | void>;
19
+
20
+ /**
21
+ * Hook dispatched before making an sync request.
22
+ * It can be used for modifying the request, providing a response without making a request or for logging.
23
+ *
24
+ * @param context Contains the request and the window from where the request was made.
25
+ *
26
+ * @returns Promise that can resolve to a response to be used instead of sending out the response.
27
+ */
28
+ beforeSyncRequest?: (context: {
29
+ request: Request;
30
+ window: BrowserWindow;
31
+ }) => ISyncResponse | void;
32
+
33
+ /**
34
+ * Hook dispatched after receiving an async response.
35
+ * It can be used for modifying or replacing the response and logging.
36
+ *
37
+ * @param context Contains the request, response and the window from where the request was made.
38
+ *
39
+ * @returns Promise that can resolve to a response to be used instead of sending out the response.
40
+ */
41
+ afterAsyncResponse?: (context: {
42
+ request: Request;
43
+ response: Response;
44
+ window: BrowserWindow;
45
+ }) => Promise<Response | void>;
46
+
47
+ /**
48
+ * Hook dispatched after receiving a sync response.
49
+ * It can be used for modifying or replacing the response and logging
50
+ *
51
+ * @param context Contains the request, response and the window from where the request was made.
52
+ *
53
+ * @returns Promise that can resolve to a response to be used instead of sending out the response.
54
+ */
55
+ afterSyncResponse?: (context: {
56
+ request: Request;
57
+ response: ISyncResponse;
58
+ window: BrowserWindow;
59
+ }) => ISyncResponse | void;
60
+ }
@@ -186,6 +186,31 @@ export default class HTMLParser {
186
186
  };
187
187
  }
188
188
 
189
+ if (this.rootNode instanceof this.window.HTMLHtmlElement) {
190
+ const head = this.rootDocument.createElement('head');
191
+ const body = this.rootDocument.createElement('body');
192
+ while (this.rootNode[PropertySymbol.nodeArray].length > 0) {
193
+ this.rootNode[PropertySymbol.removeChild](
194
+ this.rootNode[PropertySymbol.nodeArray][
195
+ this.rootNode[PropertySymbol.nodeArray].length - 1
196
+ ]
197
+ );
198
+ }
199
+
200
+ this.rootNode[PropertySymbol.appendChild](head);
201
+ this.rootNode[PropertySymbol.appendChild](body);
202
+
203
+ this.documentStructure = {
204
+ nodes: {
205
+ doctype: null,
206
+ documentElement: this.rootNode,
207
+ head,
208
+ body
209
+ },
210
+ level: HTMLDocumentStructureLevelEnum.documentElement
211
+ };
212
+ }
213
+
189
214
  let match: RegExpExecArray;
190
215
  let lastIndex = 0;
191
216
 
package/src/index.ts CHANGED
@@ -57,6 +57,8 @@ import AbortSignal from './fetch/AbortSignal.js';
57
57
  import Headers from './fetch/Headers.js';
58
58
  import Request from './fetch/Request.js';
59
59
  import Response from './fetch/Response.js';
60
+ import IFetchInterceptor from './fetch/types/IFetchInterceptor.js';
61
+ import ISyncResponse from './fetch/types/ISyncResponse.js';
60
62
  import Blob from './file/Blob.js';
61
63
  import File from './file/File.js';
62
64
  import FileReader from './file/FileReader.js';
@@ -206,6 +208,8 @@ import type ITouchEventInit from './event/events/ITouchEventInit.js';
206
208
  import type IWheelEventInit from './event/events/IWheelEventInit.js';
207
209
 
208
210
  export type {
211
+ IFetchInterceptor,
212
+ ISyncResponse,
209
213
  IAnimationEventInit,
210
214
  IBrowser,
211
215
  IBrowserContext,
@@ -1701,14 +1701,14 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
1701
1701
  this[PropertySymbol.mutationObservers] = [];
1702
1702
 
1703
1703
  // Disconnects nodes from the document, so that they can be garbage collected.
1704
- const childNodes = this.document.body[PropertySymbol.nodeArray];
1704
+ const childNodes = this.document[PropertySymbol.nodeArray];
1705
1705
 
1706
1706
  while (childNodes.length > 0) {
1707
1707
  // Makes sure that something won't be triggered by the disconnect.
1708
1708
  if ((<HTMLElement>childNodes[0]).disconnectedCallback) {
1709
1709
  delete (<HTMLElement>childNodes[0]).disconnectedCallback;
1710
1710
  }
1711
- this.document.body.removeChild(childNodes[0]);
1711
+ this.document[PropertySymbol.removeChild](childNodes[0]);
1712
1712
  }
1713
1713
 
1714
1714
  // Create some empty elements for scripts that are still running.
@@ -1717,7 +1717,7 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
1717
1717
  const bodyElement = this.document.createElement('body');
1718
1718
  htmlElement.appendChild(headElement);
1719
1719
  htmlElement.appendChild(bodyElement);
1720
- this.document.body.appendChild(htmlElement);
1720
+ this.document[PropertySymbol.appendChild](htmlElement);
1721
1721
 
1722
1722
  if (this.location[PropertySymbol.destroy]) {
1723
1723
  this.location[PropertySymbol.destroy]();