happy-dom 16.3.0 → 16.4.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.
- package/cjs/browser/types/IBrowserSettings.d.ts +2 -0
- package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/cjs/browser/types/IOptionalBrowserSettings.d.ts +2 -0
- package/cjs/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
- package/cjs/fetch/Fetch.cjs +29 -4
- package/cjs/fetch/Fetch.cjs.map +1 -1
- package/cjs/fetch/Fetch.d.ts +1 -0
- package/cjs/fetch/Fetch.d.ts.map +1 -1
- package/cjs/fetch/SyncFetch.cjs +28 -2
- package/cjs/fetch/SyncFetch.cjs.map +1 -1
- package/cjs/fetch/SyncFetch.d.ts +1 -0
- package/cjs/fetch/SyncFetch.d.ts.map +1 -1
- package/cjs/fetch/types/IFetchInterceptor.cjs +3 -0
- package/cjs/fetch/types/IFetchInterceptor.cjs.map +1 -0
- package/cjs/fetch/types/IFetchInterceptor.d.ts +57 -0
- package/cjs/fetch/types/IFetchInterceptor.d.ts.map +1 -0
- package/cjs/index.cjs.map +1 -1
- package/cjs/index.d.ts +3 -1
- package/cjs/index.d.ts.map +1 -1
- package/lib/browser/types/IBrowserSettings.d.ts +2 -0
- package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/lib/browser/types/IOptionalBrowserSettings.d.ts +2 -0
- package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
- package/lib/fetch/Fetch.d.ts +1 -0
- package/lib/fetch/Fetch.d.ts.map +1 -1
- package/lib/fetch/Fetch.js +29 -4
- package/lib/fetch/Fetch.js.map +1 -1
- package/lib/fetch/SyncFetch.d.ts +1 -0
- package/lib/fetch/SyncFetch.d.ts.map +1 -1
- package/lib/fetch/SyncFetch.js +28 -2
- package/lib/fetch/SyncFetch.js.map +1 -1
- package/lib/fetch/types/IFetchInterceptor.d.ts +57 -0
- package/lib/fetch/types/IFetchInterceptor.d.ts.map +1 -0
- package/lib/fetch/types/IFetchInterceptor.js +2 -0
- package/lib/fetch/types/IFetchInterceptor.js.map +1 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/browser/types/IBrowserSettings.ts +3 -0
- package/src/browser/types/IOptionalBrowserSettings.ts +3 -0
- package/src/fetch/Fetch.ts +32 -5
- package/src/fetch/SyncFetch.ts +29 -2
- package/src/fetch/types/IFetchInterceptor.ts +60 -0
- package/src/index.ts +4 -0
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,sBAAsB,MAAM,sDAAsD,CAAC;AAC1F,OAAO,oBAAoB,MAAM,oDAAoD,CAAC;AACtF,OAAO,mBAAmB,MAAM,mDAAmD,CAAC;AACpF,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,sCAAsC,MAAM,2DAA2D,CAAC;AAC/G,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,0BAA0B,MAAM,+CAA+C,CAAC;AACvF,OAAO,yBAAyB,MAAM,8CAA8C,CAAC;AACrF,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,mBAAmB,MAAM,0CAA0C,CAAC;AAC3E,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -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
|
/**
|
package/src/fetch/Fetch.ts
CHANGED
@@ -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
|
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
|
-
|
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);
|
package/src/fetch/SyncFetch.ts
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
+
}
|
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,
|