happy-dom 16.6.0 → 16.7.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/DefaultBrowserSettings.cjs +3 -1
- package/cjs/browser/DefaultBrowserSettings.cjs.map +1 -1
- package/cjs/browser/DefaultBrowserSettings.d.ts.map +1 -1
- package/cjs/browser/types/IBrowserSettings.d.ts +9 -1
- package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/cjs/browser/types/IOptionalBrowserSettings.d.ts +9 -1
- package/cjs/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
- package/cjs/fetch/Fetch.cjs +62 -9
- package/cjs/fetch/Fetch.cjs.map +1 -1
- package/cjs/fetch/Fetch.d.ts +7 -1
- package/cjs/fetch/Fetch.d.ts.map +1 -1
- package/cjs/fetch/SyncFetch.cjs +45 -1
- package/cjs/fetch/SyncFetch.cjs.map +1 -1
- package/cjs/fetch/SyncFetch.d.ts +6 -0
- package/cjs/fetch/SyncFetch.d.ts.map +1 -1
- package/cjs/fetch/types/IVirtualServer.cjs +3 -0
- package/cjs/fetch/types/IVirtualServer.cjs.map +1 -0
- package/cjs/fetch/types/IVirtualServer.d.ts +8 -0
- package/cjs/fetch/types/IVirtualServer.d.ts.map +1 -0
- package/cjs/fetch/utilities/VirtualServerUtility.cjs +83 -0
- package/cjs/fetch/utilities/VirtualServerUtility.cjs.map +1 -0
- package/cjs/fetch/utilities/VirtualServerUtility.d.ts +30 -0
- package/cjs/fetch/utilities/VirtualServerUtility.d.ts.map +1 -0
- package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
- package/lib/browser/DefaultBrowserSettings.js +3 -1
- package/lib/browser/DefaultBrowserSettings.js.map +1 -1
- package/lib/browser/types/IBrowserSettings.d.ts +9 -1
- package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
- package/lib/browser/types/IOptionalBrowserSettings.d.ts +9 -1
- package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
- package/lib/fetch/Fetch.d.ts +7 -1
- package/lib/fetch/Fetch.d.ts.map +1 -1
- package/lib/fetch/Fetch.js +62 -9
- package/lib/fetch/Fetch.js.map +1 -1
- package/lib/fetch/SyncFetch.d.ts +6 -0
- package/lib/fetch/SyncFetch.d.ts.map +1 -1
- package/lib/fetch/SyncFetch.js +45 -1
- package/lib/fetch/SyncFetch.js.map +1 -1
- package/lib/fetch/types/IVirtualServer.d.ts +8 -0
- package/lib/fetch/types/IVirtualServer.d.ts.map +1 -0
- package/lib/fetch/types/IVirtualServer.js +2 -0
- package/lib/fetch/types/IVirtualServer.js.map +1 -0
- package/lib/fetch/utilities/VirtualServerUtility.d.ts +30 -0
- package/lib/fetch/utilities/VirtualServerUtility.d.ts.map +1 -0
- package/lib/fetch/utilities/VirtualServerUtility.js +77 -0
- package/lib/fetch/utilities/VirtualServerUtility.js.map +1 -0
- package/package.json +1 -1
- package/src/browser/DefaultBrowserSettings.ts +3 -1
- package/src/browser/types/IBrowserSettings.ts +10 -1
- package/src/browser/types/IOptionalBrowserSettings.ts +10 -1
- package/src/fetch/Fetch.ts +91 -12
- package/src/fetch/SyncFetch.ts +60 -1
- package/src/fetch/types/IVirtualServer.ts +7 -0
- package/src/fetch/utilities/VirtualServerUtility.ts +89 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SyncFetch.js","sourceRoot":"","sources":["../../src/fetch/SyncFetch.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SyncFetch.js","sourceRoot":"","sources":["../../src/fetch/SyncFetch.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IVirtualServer.d.ts","sourceRoot":"","sources":["../../../src/fetch/types/IVirtualServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,cAAc;IACtC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IVirtualServer.js","sourceRoot":"","sources":["../../../src/fetch/types/IVirtualServer.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import BrowserWindow from '../../window/BrowserWindow.js';
|
2
|
+
import Response from '../Response.js';
|
3
|
+
import ISyncResponse from '../types/ISyncResponse.js';
|
4
|
+
/**
|
5
|
+
* Virtual server utility.
|
6
|
+
*/
|
7
|
+
export default class VirtualServerUtility {
|
8
|
+
/**
|
9
|
+
* Returns the filesystem path for a request URL if it matches a virtual server.
|
10
|
+
*
|
11
|
+
* @param window Window.
|
12
|
+
* @param requestURL Request URL.
|
13
|
+
*/
|
14
|
+
static getFilepath(window: BrowserWindow, requestURL: string): string | null;
|
15
|
+
/**
|
16
|
+
* Returns a 404 response.
|
17
|
+
*
|
18
|
+
* @param window Window.
|
19
|
+
* @returns 404 response.
|
20
|
+
*/
|
21
|
+
static getNotFoundResponse(window: BrowserWindow): Response;
|
22
|
+
/**
|
23
|
+
* Returns a 404 response.
|
24
|
+
*
|
25
|
+
* @param window Window.
|
26
|
+
* @returns 404 response.
|
27
|
+
*/
|
28
|
+
static getNotFoundSyncResponse(window: BrowserWindow): ISyncResponse;
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=VirtualServerUtility.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VirtualServerUtility.d.ts","sourceRoot":"","sources":["../../../src/fetch/utilities/VirtualServerUtility.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAG1D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAKtD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACxC;;;;;OAKG;WACW,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkCnF;;;;;OAKG;WACW,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ;IAUlE;;;;;OAKG;WACW,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;CAa3E"}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
2
|
+
import Path from 'path';
|
3
|
+
const NOT_FOUND_HTML = '<html><head><title>Happy DOM Virtual Server - 404 Not Found</title></head><body><h1>Happy DOM Virtual Server - 404 Not Found</h1></body></html>';
|
4
|
+
/**
|
5
|
+
* Virtual server utility.
|
6
|
+
*/
|
7
|
+
export default class VirtualServerUtility {
|
8
|
+
/**
|
9
|
+
* Returns the filesystem path for a request URL if it matches a virtual server.
|
10
|
+
*
|
11
|
+
* @param window Window.
|
12
|
+
* @param requestURL Request URL.
|
13
|
+
*/
|
14
|
+
static getFilepath(window, requestURL) {
|
15
|
+
const browserSettings = new WindowBrowserContext(window).getSettings();
|
16
|
+
if (!browserSettings || !browserSettings.fetch.virtualServers) {
|
17
|
+
return null;
|
18
|
+
}
|
19
|
+
for (const virtualServer of browserSettings.fetch.virtualServers) {
|
20
|
+
let baseURL;
|
21
|
+
if (typeof virtualServer.url === 'string') {
|
22
|
+
const url = new URL(virtualServer.url[virtualServer.url.length - 1] === '/'
|
23
|
+
? virtualServer.url.slice(0, -1)
|
24
|
+
: virtualServer.url, window.location.origin);
|
25
|
+
if (requestURL.startsWith(url.href)) {
|
26
|
+
baseURL = url;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
else if (virtualServer.url instanceof RegExp) {
|
30
|
+
const match = requestURL.match(virtualServer.url);
|
31
|
+
if (match) {
|
32
|
+
baseURL = new URL(match[0][match[0].length - 1] === '/' ? match[0].slice(0, -1) : match[0], window.location.origin);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
if (baseURL) {
|
36
|
+
const path = requestURL.slice(baseURL.href.length).split('?')[0].split('#')[0];
|
37
|
+
return Path.join(Path.resolve(virtualServer.directory), path.replaceAll('/', Path.sep));
|
38
|
+
}
|
39
|
+
}
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Returns a 404 response.
|
44
|
+
*
|
45
|
+
* @param window Window.
|
46
|
+
* @returns 404 response.
|
47
|
+
*/
|
48
|
+
static getNotFoundResponse(window) {
|
49
|
+
return new window.Response(NOT_FOUND_HTML, {
|
50
|
+
status: 404,
|
51
|
+
statusText: 'Not Found',
|
52
|
+
headers: {
|
53
|
+
'Content-Type': 'text/html'
|
54
|
+
}
|
55
|
+
});
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Returns a 404 response.
|
59
|
+
*
|
60
|
+
* @param window Window.
|
61
|
+
* @returns 404 response.
|
62
|
+
*/
|
63
|
+
static getNotFoundSyncResponse(window) {
|
64
|
+
return {
|
65
|
+
status: 404,
|
66
|
+
statusText: 'Not Found',
|
67
|
+
ok: false,
|
68
|
+
url: null,
|
69
|
+
redirected: false,
|
70
|
+
headers: new window.Headers({
|
71
|
+
'Content-Type': 'text/html'
|
72
|
+
}),
|
73
|
+
body: Buffer.from(NOT_FOUND_HTML)
|
74
|
+
};
|
75
|
+
}
|
76
|
+
}
|
77
|
+
//# sourceMappingURL=VirtualServerUtility.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VirtualServerUtility.js","sourceRoot":"","sources":["../../../src/fetch/utilities/VirtualServerUtility.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,cAAc,GACnB,iJAAiJ,CAAC;AAEnJ;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACxC;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,MAAqB,EAAE,UAAkB;QAClE,MAAM,eAAe,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACvE,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,MAAM,aAAa,IAAI,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAClE,IAAI,OAAY,CAAC;YACjB,IAAI,OAAO,aAAa,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAClB,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;oBACtD,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,CAAC,CAAC,aAAa,CAAC,GAAG,EACpB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACtB,CAAC;gBACF,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,OAAO,GAAG,GAAG,CAAC;gBACf,CAAC;YACF,CAAC;iBAAM,IAAI,aAAa,CAAC,GAAG,YAAY,MAAM,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,KAAK,EAAE,CAAC;oBACX,OAAO,GAAG,IAAI,GAAG,CAChB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACxE,MAAM,CAAC,QAAQ,CAAC,MAAM,CACtB,CAAC;gBACH,CAAC;YACF,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAAqB;QACtD,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC1C,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE;gBACR,cAAc,EAAE,WAAW;aAC3B;SACD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,uBAAuB,CAAC,MAAqB;QAC1D,OAAsB;YACrB,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,WAAW;YACvB,EAAE,EAAE,KAAK;YACT,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;gBAC3B,cAAc,EAAE,WAAW;aAC3B,CAAC;YACF,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;SACjC,CAAC;IACH,CAAC;CACD"}
|
package/package.json
CHANGED
@@ -19,7 +19,9 @@ export default <IBrowserSettings>{
|
|
19
19
|
preventTimerLoops: false
|
20
20
|
},
|
21
21
|
fetch: {
|
22
|
-
disableSameOriginPolicy: false
|
22
|
+
disableSameOriginPolicy: false,
|
23
|
+
interceptor: null,
|
24
|
+
virtualServers: null
|
23
25
|
},
|
24
26
|
navigation: {
|
25
27
|
disableMainFrameNavigation: false,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import BrowserErrorCaptureEnum from '../enums/BrowserErrorCaptureEnum.js';
|
2
2
|
import BrowserNavigationCrossOriginPolicyEnum from '../enums/BrowserNavigationCrossOriginPolicyEnum.js';
|
3
3
|
import IFetchInterceptor from '../../fetch/types/IFetchInterceptor.js';
|
4
|
+
import IVirtualServer from '../../fetch/types/IVirtualServer.js';
|
4
5
|
|
5
6
|
/**
|
6
7
|
* Browser settings.
|
@@ -42,7 +43,15 @@ export default interface IBrowserSettings {
|
|
42
43
|
*/
|
43
44
|
disableSameOriginPolicy: boolean;
|
44
45
|
|
45
|
-
|
46
|
+
/**
|
47
|
+
* Fetch interceptor.
|
48
|
+
*/
|
49
|
+
interceptor: IFetchInterceptor | null;
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Virtual servers used for simulating a server that reads from the file system.
|
53
|
+
*/
|
54
|
+
virtualServers: IVirtualServer[] | null;
|
46
55
|
};
|
47
56
|
|
48
57
|
/**
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import BrowserErrorCaptureEnum from '../enums/BrowserErrorCaptureEnum.js';
|
2
2
|
import BrowserNavigationCrossOriginPolicyEnum from '../enums/BrowserNavigationCrossOriginPolicyEnum.js';
|
3
3
|
import IFetchInterceptor from '../../fetch/types/IFetchInterceptor.js';
|
4
|
+
import IVirtualServer from '../../fetch/types/IVirtualServer.js';
|
4
5
|
|
5
6
|
export default interface IOptionalBrowserSettings {
|
6
7
|
/** Disables JavaScript evaluation. */
|
@@ -36,7 +37,15 @@ export default interface IOptionalBrowserSettings {
|
|
36
37
|
*/
|
37
38
|
disableSameOriginPolicy?: boolean;
|
38
39
|
|
39
|
-
|
40
|
+
/**
|
41
|
+
* Fetch interceptor.
|
42
|
+
*/
|
43
|
+
interceptor?: IFetchInterceptor | null;
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Virtual servers used for simulating a server that reads from the file system.
|
47
|
+
*/
|
48
|
+
virtualServers?: IVirtualServer[] | null;
|
40
49
|
};
|
41
50
|
|
42
51
|
/**
|
package/src/fetch/Fetch.ts
CHANGED
@@ -8,6 +8,8 @@ import HTTP, { IncomingMessage } from 'http';
|
|
8
8
|
import HTTPS from 'https';
|
9
9
|
import Zlib from 'zlib';
|
10
10
|
import URL from '../url/URL.js';
|
11
|
+
import FS from 'fs';
|
12
|
+
import Path from 'path';
|
11
13
|
import { Socket } from 'net';
|
12
14
|
import Stream from 'stream';
|
13
15
|
import DataURIParser from './data-uri/DataURIParser.js';
|
@@ -27,6 +29,7 @@ import FetchHTTPSCertificate from './certificate/FetchHTTPSCertificate.js';
|
|
27
29
|
import { Buffer } from 'buffer';
|
28
30
|
import FetchBodyUtility from './utilities/FetchBodyUtility.js';
|
29
31
|
import IFetchInterceptor from './types/IFetchInterceptor.js';
|
32
|
+
import VirtualServerUtility from './utilities/VirtualServerUtility.js';
|
30
33
|
|
31
34
|
const LAST_CHUNK = Buffer.from('0\r\n\r\n');
|
32
35
|
|
@@ -51,7 +54,7 @@ export default class Fetch {
|
|
51
54
|
private nodeResponse: IncomingMessage | null = null;
|
52
55
|
private response: Response | null = null;
|
53
56
|
private responseHeaders: Headers | null = null;
|
54
|
-
private interceptor
|
57
|
+
private interceptor: IFetchInterceptor | null;
|
55
58
|
private request: Request;
|
56
59
|
private redirectCount = 0;
|
57
60
|
private disableCache: boolean;
|
@@ -111,17 +114,27 @@ export default class Fetch {
|
|
111
114
|
*/
|
112
115
|
public async send(): Promise<Response> {
|
113
116
|
FetchRequestReferrerUtility.prepareRequest(new URL(this.#window.location.href), this.request);
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
117
|
+
|
118
|
+
if (this.interceptor?.beforeAsyncRequest) {
|
119
|
+
const taskID = this.#browserFrame[PropertySymbol.asyncTaskManager].startTask();
|
120
|
+
const response = await this.interceptor.beforeAsyncRequest({
|
121
|
+
request: this.request,
|
122
|
+
window: this.#window
|
123
|
+
});
|
124
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
|
125
|
+
if (response instanceof Response) {
|
126
|
+
return response;
|
127
|
+
}
|
122
128
|
}
|
129
|
+
|
123
130
|
FetchRequestValidationUtility.validateSchema(this.request);
|
124
131
|
|
132
|
+
const virtualServerResponse = await this.getVirtualServerResponse();
|
133
|
+
|
134
|
+
if (virtualServerResponse) {
|
135
|
+
return virtualServerResponse;
|
136
|
+
}
|
137
|
+
|
125
138
|
if (this.request.signal.aborted) {
|
126
139
|
throw new this.#window.DOMException(
|
127
140
|
'The operation was aborted.',
|
@@ -171,7 +184,7 @@ export default class Fetch {
|
|
171
184
|
const compliesWithCrossOriginPolicy = await this.compliesWithCrossOriginPolicy();
|
172
185
|
|
173
186
|
if (!compliesWithCrossOriginPolicy) {
|
174
|
-
this.#
|
187
|
+
this.#browserFrame?.page?.console.warn(
|
175
188
|
`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`
|
176
189
|
);
|
177
190
|
throw new this.#window.DOMException(
|
@@ -270,6 +283,62 @@ export default class Fetch {
|
|
270
283
|
return response;
|
271
284
|
}
|
272
285
|
|
286
|
+
/**
|
287
|
+
* Returns virtual server response.
|
288
|
+
*
|
289
|
+
* @returns Response.
|
290
|
+
*/
|
291
|
+
private async getVirtualServerResponse(): Promise<Response | null> {
|
292
|
+
const filePath = VirtualServerUtility.getFilepath(this.#window, this.request.url);
|
293
|
+
|
294
|
+
if (!filePath) {
|
295
|
+
return null;
|
296
|
+
}
|
297
|
+
|
298
|
+
if (this.request.method !== 'GET') {
|
299
|
+
this.#browserFrame?.page?.console.error(
|
300
|
+
`${this.request.method} ${this.request.url} 404 (Not Found)`
|
301
|
+
);
|
302
|
+
return VirtualServerUtility.getNotFoundResponse(this.#window);
|
303
|
+
}
|
304
|
+
|
305
|
+
const taskID = this.#browserFrame[PropertySymbol.asyncTaskManager].startTask();
|
306
|
+
let buffer: Buffer;
|
307
|
+
|
308
|
+
try {
|
309
|
+
const stat = await FS.promises.stat(filePath);
|
310
|
+
buffer = await FS.promises.readFile(
|
311
|
+
stat.isDirectory() ? Path.join(filePath, 'index.html') : filePath
|
312
|
+
);
|
313
|
+
} catch (error) {
|
314
|
+
this.#browserFrame?.page?.console.error(
|
315
|
+
`${this.request.method} ${this.request.url} 404 (Not Found)`
|
316
|
+
);
|
317
|
+
|
318
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
|
319
|
+
|
320
|
+
return VirtualServerUtility.getNotFoundResponse(this.#window);
|
321
|
+
}
|
322
|
+
|
323
|
+
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
|
324
|
+
|
325
|
+
const body = new this.#window.ReadableStream({
|
326
|
+
start(controller) {
|
327
|
+
setTimeout(() => {
|
328
|
+
controller.enqueue(buffer);
|
329
|
+
controller.close();
|
330
|
+
});
|
331
|
+
}
|
332
|
+
});
|
333
|
+
|
334
|
+
const response = new this.#window.Response(body);
|
335
|
+
|
336
|
+
response[PropertySymbol.buffer] = buffer;
|
337
|
+
(<string>response.url) = this.request.url;
|
338
|
+
|
339
|
+
return response;
|
340
|
+
}
|
341
|
+
|
273
342
|
/**
|
274
343
|
* Checks if the request complies with the Cross-Origin policy.
|
275
344
|
*
|
@@ -410,7 +479,17 @@ export default class Fetch {
|
|
410
479
|
})
|
411
480
|
: undefined;
|
412
481
|
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
|
413
|
-
|
482
|
+
const returnResponse =
|
483
|
+
interceptedResponse instanceof Response ? interceptedResponse : response;
|
484
|
+
|
485
|
+
// The browser outputs errors to the console when the response is not ok.
|
486
|
+
if (returnResponse instanceof Response && !returnResponse.ok) {
|
487
|
+
this.#browserFrame?.page?.console.error(
|
488
|
+
`${this.request.method} ${this.request.url} ${returnResponse.status} (${returnResponse.statusText})`
|
489
|
+
);
|
490
|
+
}
|
491
|
+
|
492
|
+
resolve(returnResponse);
|
414
493
|
};
|
415
494
|
this.reject = (error: Error): void => {
|
416
495
|
this.#browserFrame[PropertySymbol.asyncTaskManager].endTask(taskID);
|
@@ -517,7 +596,7 @@ export default class Fetch {
|
|
517
596
|
*/
|
518
597
|
private onError(error: Error): void {
|
519
598
|
this.finalizeRequest();
|
520
|
-
this.#
|
599
|
+
this.#browserFrame?.page?.console.error(error);
|
521
600
|
this.reject(
|
522
601
|
new this.#window.DOMException(
|
523
602
|
`Failed to execute "fetch()" on "Window" with URL "${this.request.url}": ${error.message}`,
|
package/src/fetch/SyncFetch.ts
CHANGED
@@ -3,6 +3,8 @@ import * as PropertySymbol from '../PropertySymbol.js';
|
|
3
3
|
import IRequestInfo from './types/IRequestInfo.js';
|
4
4
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
5
5
|
import URL from '../url/URL.js';
|
6
|
+
import FS from 'fs';
|
7
|
+
import Path from 'path';
|
6
8
|
import Request from './Request.js';
|
7
9
|
import IBrowserFrame from '../browser/types/IBrowserFrame.js';
|
8
10
|
import BrowserWindow from '../window/BrowserWindow.js';
|
@@ -21,6 +23,7 @@ import FetchResponseRedirectUtility from './utilities/FetchResponseRedirectUtili
|
|
21
23
|
import FetchCORSUtility from './utilities/FetchCORSUtility.js';
|
22
24
|
import Fetch from './Fetch.js';
|
23
25
|
import IFetchInterceptor from './types/IFetchInterceptor.js';
|
26
|
+
import VirtualServerUtility from './utilities/VirtualServerUtility.js';
|
24
27
|
|
25
28
|
interface ISyncHTTPResponse {
|
26
29
|
error: string;
|
@@ -96,6 +99,7 @@ export default class SyncFetch {
|
|
96
99
|
*/
|
97
100
|
public send(): ISyncResponse {
|
98
101
|
FetchRequestReferrerUtility.prepareRequest(new URL(this.#window.location.href), this.request);
|
102
|
+
|
99
103
|
const beforeRequestResponse = this.interceptor?.beforeSyncRequest
|
100
104
|
? this.interceptor.beforeSyncRequest({
|
101
105
|
request: this.request,
|
@@ -105,8 +109,15 @@ export default class SyncFetch {
|
|
105
109
|
if (typeof beforeRequestResponse === 'object') {
|
106
110
|
return beforeRequestResponse;
|
107
111
|
}
|
112
|
+
|
108
113
|
FetchRequestValidationUtility.validateSchema(this.request);
|
109
114
|
|
115
|
+
const virtualServerResponse = this.getVirtualServerResponse();
|
116
|
+
|
117
|
+
if (virtualServerResponse) {
|
118
|
+
return virtualServerResponse;
|
119
|
+
}
|
120
|
+
|
110
121
|
if (this.request.signal.aborted) {
|
111
122
|
throw new this.#window.DOMException(
|
112
123
|
'The operation was aborted.',
|
@@ -256,6 +267,47 @@ export default class SyncFetch {
|
|
256
267
|
};
|
257
268
|
}
|
258
269
|
|
270
|
+
/**
|
271
|
+
* Returns virtual server response.
|
272
|
+
*
|
273
|
+
* @returns Response.
|
274
|
+
*/
|
275
|
+
private getVirtualServerResponse(): ISyncResponse | null {
|
276
|
+
const filePath = VirtualServerUtility.getFilepath(this.#window, this.request.url);
|
277
|
+
|
278
|
+
if (!filePath) {
|
279
|
+
return null;
|
280
|
+
}
|
281
|
+
|
282
|
+
if (this.request.method !== 'GET') {
|
283
|
+
this.#browserFrame?.page?.console.error(
|
284
|
+
`${this.request.method} ${this.request.url} 404 (Not Found)`
|
285
|
+
);
|
286
|
+
return VirtualServerUtility.getNotFoundSyncResponse(this.#window);
|
287
|
+
}
|
288
|
+
|
289
|
+
let buffer: Buffer;
|
290
|
+
try {
|
291
|
+
const stat = FS.statSync(filePath);
|
292
|
+
buffer = FS.readFileSync(stat.isDirectory() ? Path.join(filePath, 'index.html') : filePath);
|
293
|
+
} catch {
|
294
|
+
this.#browserFrame?.page?.console.error(
|
295
|
+
`${this.request.method} ${this.request.url} 404 (Not Found)`
|
296
|
+
);
|
297
|
+
return VirtualServerUtility.getNotFoundSyncResponse(this.#window);
|
298
|
+
}
|
299
|
+
|
300
|
+
return {
|
301
|
+
status: 200,
|
302
|
+
statusText: '',
|
303
|
+
ok: true,
|
304
|
+
url: this.request.url,
|
305
|
+
redirected: false,
|
306
|
+
headers: new this.#window.Headers(),
|
307
|
+
body: buffer
|
308
|
+
};
|
309
|
+
}
|
310
|
+
|
259
311
|
/**
|
260
312
|
* Checks if the request complies with the Cross-Origin policy.
|
261
313
|
*
|
@@ -443,7 +495,14 @@ export default class SyncFetch {
|
|
443
495
|
request: this.request
|
444
496
|
})
|
445
497
|
: undefined;
|
446
|
-
|
498
|
+
const returnResponse =
|
499
|
+
typeof interceptedResponse === 'object' ? interceptedResponse : redirectedResponse;
|
500
|
+
if (!returnResponse.ok) {
|
501
|
+
this.#browserFrame?.page?.console.error(
|
502
|
+
`${this.request.method} ${this.request.url} ${returnResponse.status} (${returnResponse.statusText})`
|
503
|
+
);
|
504
|
+
}
|
505
|
+
return returnResponse;
|
447
506
|
}
|
448
507
|
|
449
508
|
/**
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import BrowserWindow from '../../window/BrowserWindow.js';
|
2
|
+
import WindowBrowserContext from '../../window/WindowBrowserContext.js';
|
3
|
+
import Path from 'path';
|
4
|
+
import Response from '../Response.js';
|
5
|
+
import ISyncResponse from '../types/ISyncResponse.js';
|
6
|
+
|
7
|
+
const NOT_FOUND_HTML =
|
8
|
+
'<html><head><title>Happy DOM Virtual Server - 404 Not Found</title></head><body><h1>Happy DOM Virtual Server - 404 Not Found</h1></body></html>';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Virtual server utility.
|
12
|
+
*/
|
13
|
+
export default class VirtualServerUtility {
|
14
|
+
/**
|
15
|
+
* Returns the filesystem path for a request URL if it matches a virtual server.
|
16
|
+
*
|
17
|
+
* @param window Window.
|
18
|
+
* @param requestURL Request URL.
|
19
|
+
*/
|
20
|
+
public static getFilepath(window: BrowserWindow, requestURL: string): string | null {
|
21
|
+
const browserSettings = new WindowBrowserContext(window).getSettings();
|
22
|
+
if (!browserSettings || !browserSettings.fetch.virtualServers) {
|
23
|
+
return null;
|
24
|
+
}
|
25
|
+
for (const virtualServer of browserSettings.fetch.virtualServers) {
|
26
|
+
let baseURL: URL;
|
27
|
+
if (typeof virtualServer.url === 'string') {
|
28
|
+
const url = new URL(
|
29
|
+
virtualServer.url[virtualServer.url.length - 1] === '/'
|
30
|
+
? virtualServer.url.slice(0, -1)
|
31
|
+
: virtualServer.url,
|
32
|
+
window.location.origin
|
33
|
+
);
|
34
|
+
if (requestURL.startsWith(url.href)) {
|
35
|
+
baseURL = url;
|
36
|
+
}
|
37
|
+
} else if (virtualServer.url instanceof RegExp) {
|
38
|
+
const match = requestURL.match(virtualServer.url);
|
39
|
+
if (match) {
|
40
|
+
baseURL = new URL(
|
41
|
+
match[0][match[0].length - 1] === '/' ? match[0].slice(0, -1) : match[0],
|
42
|
+
window.location.origin
|
43
|
+
);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
if (baseURL) {
|
47
|
+
const path = requestURL.slice(baseURL.href.length).split('?')[0].split('#')[0];
|
48
|
+
return Path.join(Path.resolve(virtualServer.directory), path.replaceAll('/', Path.sep));
|
49
|
+
}
|
50
|
+
}
|
51
|
+
return null;
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Returns a 404 response.
|
56
|
+
*
|
57
|
+
* @param window Window.
|
58
|
+
* @returns 404 response.
|
59
|
+
*/
|
60
|
+
public static getNotFoundResponse(window: BrowserWindow): Response {
|
61
|
+
return new window.Response(NOT_FOUND_HTML, {
|
62
|
+
status: 404,
|
63
|
+
statusText: 'Not Found',
|
64
|
+
headers: {
|
65
|
+
'Content-Type': 'text/html'
|
66
|
+
}
|
67
|
+
});
|
68
|
+
}
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Returns a 404 response.
|
72
|
+
*
|
73
|
+
* @param window Window.
|
74
|
+
* @returns 404 response.
|
75
|
+
*/
|
76
|
+
public static getNotFoundSyncResponse(window: BrowserWindow): ISyncResponse {
|
77
|
+
return <ISyncResponse>{
|
78
|
+
status: 404,
|
79
|
+
statusText: 'Not Found',
|
80
|
+
ok: false,
|
81
|
+
url: null,
|
82
|
+
redirected: false,
|
83
|
+
headers: new window.Headers({
|
84
|
+
'Content-Type': 'text/html'
|
85
|
+
}),
|
86
|
+
body: Buffer.from(NOT_FOUND_HTML)
|
87
|
+
};
|
88
|
+
}
|
89
|
+
}
|