happy-dom 9.10.4 → 9.10.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.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
- package/lib/nodes/element/HTMLCollection.js +5 -3
- package/lib/nodes/element/HTMLCollection.js.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +4 -2
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.d.ts +9 -1
- package/lib/xml-http-request/XMLHttpRequest.d.ts.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js +46 -18
- package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
- package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.d.ts +6 -1
- package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.d.ts.map +1 -1
- package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.js +85 -0
- package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.js.map +1 -1
- package/package.json +1 -1
- package/src/nodes/element/HTMLCollection.ts +7 -3
- package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +6 -2
- package/src/xml-http-request/XMLHttpRequest.ts +63 -23
- package/src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts +85 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLCollection.d.ts","sourceRoot":"","sources":["../../../src/nodes/element/HTMLCollection.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC,CAAE,SAAQ,KAAM,YAAW,eAAe,CAAC,CAAC,CAAC;IACjF,SAAS,CAAC,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAA;KAAE,CAAM;IAEjD;;;;OAIG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAMxC;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAcpD;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBpD;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;
|
1
|
+
{"version":3,"file":"HTMLCollection.d.ts","sourceRoot":"","sources":["../../../src/nodes/element/HTMLCollection.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC,CAAE,SAAQ,KAAM,YAAW,eAAe,CAAC,CAAC,CAAC;IACjF,SAAS,CAAC,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAA;KAAE,CAAM;IAEjD;;;;OAIG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAMxC;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAcpD;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBpD;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAOrD"}
|
@@ -39,7 +39,7 @@ class HTMLCollection extends Array {
|
|
39
39
|
if (!this._namedItems[name].includes(node)) {
|
40
40
|
this._namedItems[name].push(node);
|
41
41
|
}
|
42
|
-
if (!this
|
42
|
+
if (!this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
43
43
|
this[name] = this._namedItems[name][0];
|
44
44
|
}
|
45
45
|
}
|
@@ -57,7 +57,7 @@ class HTMLCollection extends Array {
|
|
57
57
|
this._namedItems[name].splice(index, 1);
|
58
58
|
if (this._namedItems[name].length === 0) {
|
59
59
|
delete this._namedItems[name];
|
60
|
-
if (this
|
60
|
+
if (this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
61
61
|
delete this[name];
|
62
62
|
}
|
63
63
|
}
|
@@ -74,7 +74,9 @@ class HTMLCollection extends Array {
|
|
74
74
|
* @returns True if the property name is valid.
|
75
75
|
*/
|
76
76
|
_isValidPropertyName(name) {
|
77
|
-
return
|
77
|
+
return (!this.constructor.prototype.hasOwnProperty(name) &&
|
78
|
+
!Array.prototype.hasOwnProperty(name) &&
|
79
|
+
(isNaN(Number(name)) || name.includes('.')));
|
78
80
|
}
|
79
81
|
}
|
80
82
|
exports.default = HTMLCollection;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLCollection.js","sourceRoot":"","sources":["../../../src/nodes/element/HTMLCollection.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,MAAqB,cAAkB,SAAQ,KAAK;IAApD;;QACW,gBAAW,GAAyB,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"HTMLCollection.js","sourceRoot":"","sources":["../../../src/nodes/element/HTMLCollection.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,MAAqB,cAAkB,SAAQ,KAAK;IAApD;;QACW,gBAAW,GAAyB,EAAE,CAAC;IAiFlD,CAAC;IA/EA;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM;YAC7D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAO,EAAE,IAAY;QAC5C,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;gBAClE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;SACD;IACF,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAO,EAAE,IAAY;QAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;wBACjE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClB;iBACD;qBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;oBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACD;SACD;IACF,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAAC,IAAY;QAC1C,OAAO,CACN,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YAChD,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YACrC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC;IACH,CAAC;CACD;AAlFD,iCAkFC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLFormControlsCollection.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-form-element/HTMLFormControlsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,0BACpB,SAAQ,KAAK,CAAC,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,CAChG,YAAW,2BAA2B;IAE/B,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAM;IAExD;;;;OAIG;IACI,IAAI,CACV,KAAK,EAAE,MAAM,GACX,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI;IAI5F;;;;;OAKG;IACI,SAAS,CACf,IAAI,EAAE,MAAM,GAEV,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,IAAI;IAUP;;;;;OAKG;IACI,gBAAgB,CACtB,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,EACxF,IAAI,EAAE,MAAM,GACV,IAAI;IAeP;;;;;OAKG;IACI,gBAAgB,CACtB,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,EACxF,IAAI,EAAE,MAAM,GACV,IAAI;IAoBP;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;
|
1
|
+
{"version":3,"file":"HTMLFormControlsCollection.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-form-element/HTMLFormControlsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,0BACpB,SAAQ,KAAK,CAAC,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,CAChG,YAAW,2BAA2B;IAE/B,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAM;IAExD;;;;OAIG;IACI,IAAI,CACV,KAAK,EAAE,MAAM,GACX,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI;IAI5F;;;;;OAKG;IACI,SAAS,CACf,IAAI,EAAE,MAAM,GAEV,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,IAAI;IAUP;;;;;OAKG;IACI,gBAAgB,CACtB,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,EACxF,IAAI,EAAE,MAAM,GACV,IAAI;IAeP;;;;;OAKG;IACI,gBAAgB,CACtB,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,EACxF,IAAI,EAAE,MAAM,GACV,IAAI;IAoBP;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAOrD"}
|
@@ -68,7 +68,7 @@ class HTMLFormControlsCollection extends Array {
|
|
68
68
|
this._namedItems[name].splice(index, 1);
|
69
69
|
if (this._namedItems[name].length === 0) {
|
70
70
|
delete this._namedItems[name];
|
71
|
-
if (this
|
71
|
+
if (this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
72
72
|
delete this[name];
|
73
73
|
}
|
74
74
|
}
|
@@ -86,7 +86,9 @@ class HTMLFormControlsCollection extends Array {
|
|
86
86
|
* @returns True if the property name is valid.
|
87
87
|
*/
|
88
88
|
_isValidPropertyName(name) {
|
89
|
-
return
|
89
|
+
return (!this.constructor.prototype.hasOwnProperty(name) &&
|
90
|
+
!Array.prototype.hasOwnProperty(name) &&
|
91
|
+
(isNaN(Number(name)) || name.includes('.')));
|
90
92
|
}
|
91
93
|
}
|
92
94
|
exports.default = HTMLFormControlsCollection;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLFormControlsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-form-element/HTMLFormControlsCollection.ts"],"names":[],"mappings":";;;;;AAIA,oEAA4C;AAG5C;;;;GAIG;AACH,MAAqB,0BACpB,SAAQ,KAAyF;IADlG;;QAIQ,gBAAW,GAAmC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"HTMLFormControlsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-form-element/HTMLFormControlsCollection.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import XMLHttpRequestEventTarget from './XMLHttpRequestEventTarget';
|
2
2
|
import XMLHttpRequestReadyStateEnum from './XMLHttpRequestReadyStateEnum';
|
3
3
|
import IDocument from '../nodes/document/IDocument';
|
4
|
+
import Blob from '../file/Blob';
|
4
5
|
import XMLHttpRequestUpload from './XMLHttpRequestUpload';
|
5
6
|
import XMLHttpResponseTypeEnum from './XMLHttpResponseTypeEnum';
|
6
7
|
/**
|
@@ -36,6 +37,12 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
36
37
|
* @returns Status text.
|
37
38
|
*/
|
38
39
|
get statusText(): string;
|
40
|
+
/**
|
41
|
+
* Returns the response.
|
42
|
+
*
|
43
|
+
* @returns Response.
|
44
|
+
*/
|
45
|
+
get response(): ArrayBuffer | Blob | IDocument | object | string;
|
39
46
|
/**
|
40
47
|
* Returns the response URL.
|
41
48
|
*
|
@@ -171,6 +178,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
171
178
|
/**
|
172
179
|
* Parses local request data.
|
173
180
|
*
|
181
|
+
* @param url URL.
|
174
182
|
* @param data Data.
|
175
183
|
*/
|
176
184
|
private _parseLocalRequestData;
|
@@ -184,7 +192,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
184
192
|
/**
|
185
193
|
* Set Cookies from response headers.
|
186
194
|
*
|
187
|
-
* @param headers
|
195
|
+
* @param headers Headers.
|
188
196
|
*/
|
189
197
|
private _setCookies;
|
190
198
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLHttpRequest.d.ts","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequest.ts"],"names":[],"mappings":"AAIA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAE1E,OAAO,SAAS,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"XMLHttpRequest.d.ts","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequest.ts"],"names":[],"mappings":"AAIA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAE1E,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAM1D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAoChE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,yBAAyB;IAEpE,OAAc,cAAc,EAAE,SAAS,CAAQ;IAG/C,OAAc,MAAM,+BAAuC;IAC3D,OAAc,MAAM,+BAAuC;IAC3D,OAAc,gBAAgB,+BAAgD;IAC9E,OAAc,OAAO,+BAAwC;IAC7D,OAAc,IAAI,+BAAqC;IAGhD,MAAM,EAAE,oBAAoB,CAA8B;IAGjE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,MAAM,CAkCZ;IAEF,OAAO,CAAC,SAAS,CAYf;IAEF;;OAEG;;IAMH;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAEtE;IAED;;;;OAIG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;;OAIG;IACH,IAAW,UAAU,IAAI,4BAA4B,CAEpD;IAED;;;;;OAKG;IACH,IAAW,YAAY,IAAI,MAAM,CAQhC;IAED;;;;;OAKG;IACH,IAAW,WAAW,IAAI,SAAS,CAQlC;IAED;;;;;;OAMG;IACH,IAAW,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,EAAE,EAmBzD;IAED;;;;OAIG;IACH,IAAW,YAAY,IAAI,uBAAuB,GAAG,EAAE,CAEtD;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,UAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAgC9F;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA0B/D;;;;;OAKG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoBhD;;;;OAIG;IACI,qBAAqB,IAAI,MAAM;IAiBtC;;;;OAIG;IACI,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAsHhC;;OAEG;IACI,KAAK,IAAI,IAAI;IA6BpB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAkCjB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA2ExB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqDzB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAsGxB;;;;;OAKG;YACW,sBAAsB;IAoCpC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA4E1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAkBnB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;QAKI;IACJ,OAAO,CAAC,mBAAmB;CAS3B"}
|
@@ -107,6 +107,14 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
107
107
|
get statusText() {
|
108
108
|
return this._state.statusText;
|
109
109
|
}
|
110
|
+
/**
|
111
|
+
* Returns the response.
|
112
|
+
*
|
113
|
+
* @returns Response.
|
114
|
+
*/
|
115
|
+
get response() {
|
116
|
+
return this._state.response;
|
117
|
+
}
|
110
118
|
/**
|
111
119
|
* Returns the response URL.
|
112
120
|
*
|
@@ -241,7 +249,9 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
241
249
|
this.readyState > XMLHttpRequestReadyStateEnum_1.default.opened &&
|
242
250
|
this._state.incommingMessage.headers[lowerHeader] &&
|
243
251
|
!this._state.error) {
|
244
|
-
return this._state.incommingMessage.headers[lowerHeader]
|
252
|
+
return Array.isArray(this._state.incommingMessage.headers[lowerHeader])
|
253
|
+
? this._state.incommingMessage.headers[lowerHeader].join(', ')
|
254
|
+
: this._state.incommingMessage.headers[lowerHeader];
|
245
255
|
}
|
246
256
|
return null;
|
247
257
|
}
|
@@ -450,15 +460,19 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
450
460
|
const { error, data: response } = JSON.parse(content.toString());
|
451
461
|
if (error) {
|
452
462
|
this._onError(error);
|
463
|
+
return;
|
453
464
|
}
|
454
|
-
|
465
|
+
if (response) {
|
455
466
|
this._state.incommingMessage = {
|
456
467
|
statusCode: response.statusCode,
|
457
468
|
headers: response.headers
|
458
469
|
};
|
459
470
|
this._state.status = response.statusCode;
|
460
471
|
this._state.statusText = response.statusMessage;
|
461
|
-
//
|
472
|
+
// Although it will immediately be set to loading,
|
473
|
+
// According to the spec, the state should be headersRecieved first.
|
474
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.headersRecieved);
|
475
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.loading);
|
462
476
|
this._state.response = this._decodeResponseText(Buffer.from(response.data, 'base64'));
|
463
477
|
this._state.responseText = this._state.response;
|
464
478
|
this._state.responseXML = null;
|
@@ -567,9 +581,9 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
567
581
|
// @TODO Check if an XHR event needs to be fired here
|
568
582
|
return;
|
569
583
|
}
|
570
|
-
this._setState(XMLHttpRequestReadyStateEnum_1.default.headersRecieved);
|
571
584
|
this._state.status = this._state.incommingMessage.statusCode;
|
572
585
|
this._state.statusText = this._state.incommingMessage.statusMessage;
|
586
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.headersRecieved);
|
573
587
|
// Initialize response.
|
574
588
|
let tempResponse = Buffer.from(new Uint8Array(0));
|
575
589
|
this._state.incommingMessage.on('data', (chunk) => {
|
@@ -624,8 +638,12 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
624
638
|
}
|
625
639
|
catch (error) {
|
626
640
|
this._onError(error);
|
641
|
+
// Release async task.
|
642
|
+
this._ownerDocument.defaultView.happyDOM.asyncTaskManager.endTask(this._state.asyncTaskID);
|
643
|
+
return;
|
627
644
|
}
|
628
645
|
const dataLength = data.length;
|
646
|
+
// @TODO: set state headersRecieved first.
|
629
647
|
this._setState(XMLHttpRequestReadyStateEnum_1.default.loading);
|
630
648
|
this.dispatchEvent(new ProgressEvent_1.default('progress', {
|
631
649
|
lengthComputable: true,
|
@@ -633,8 +651,9 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
633
651
|
total: dataLength
|
634
652
|
}));
|
635
653
|
if (data) {
|
636
|
-
this._parseLocalRequestData(data);
|
654
|
+
this._parseLocalRequestData(url, data);
|
637
655
|
}
|
656
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.done);
|
638
657
|
this._ownerDocument.defaultView.happyDOM.asyncTaskManager.endTask(this._state.asyncTaskID);
|
639
658
|
}
|
640
659
|
/**
|
@@ -649,18 +668,32 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
649
668
|
}
|
650
669
|
catch (error) {
|
651
670
|
this._onError(error);
|
671
|
+
return;
|
652
672
|
}
|
673
|
+
// @TODO: set state headersRecieved first.
|
674
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.loading);
|
653
675
|
if (data) {
|
654
|
-
this._parseLocalRequestData(data);
|
676
|
+
this._parseLocalRequestData(url, data);
|
655
677
|
}
|
678
|
+
this._setState(XMLHttpRequestReadyStateEnum_1.default.done);
|
656
679
|
}
|
657
680
|
/**
|
658
681
|
* Parses local request data.
|
659
682
|
*
|
683
|
+
* @param url URL.
|
660
684
|
* @param data Data.
|
661
685
|
*/
|
662
|
-
_parseLocalRequestData(data) {
|
663
|
-
|
686
|
+
_parseLocalRequestData(url, data) {
|
687
|
+
// Manually set the response headers.
|
688
|
+
this._state.incommingMessage = {
|
689
|
+
statusCode: 200,
|
690
|
+
headers: {
|
691
|
+
'content-length': String(data.length),
|
692
|
+
'content-type': XMLHttpRequestURLUtility_1.default.getMimeTypeFromExt(url)
|
693
|
+
// @TODO: 'last-modified':
|
694
|
+
}
|
695
|
+
};
|
696
|
+
this._state.status = this._state.incommingMessage.statusCode;
|
664
697
|
this._state.statusText = 'OK';
|
665
698
|
const { response, responseXML, responseText } = this._parseResponseData(data);
|
666
699
|
this._state.response = response;
|
@@ -714,7 +747,7 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
714
747
|
};
|
715
748
|
const domParser = new window.DOMParser();
|
716
749
|
try {
|
717
|
-
response = domParser.parseFromString(
|
750
|
+
response = domParser.parseFromString(this._decodeResponseText(data), 'text/xml');
|
718
751
|
}
|
719
752
|
catch (e) {
|
720
753
|
return { response: null, responseText: null, responseXML: null };
|
@@ -747,7 +780,7 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
747
780
|
/**
|
748
781
|
* Set Cookies from response headers.
|
749
782
|
*
|
750
|
-
* @param headers
|
783
|
+
* @param headers Headers.
|
751
784
|
*/
|
752
785
|
_setCookies(headers) {
|
753
786
|
const originURL = new url_1.URL(this._settings.url, this._ownerDocument.defaultView.location);
|
@@ -782,15 +815,10 @@ class XMLHttpRequest extends XMLHttpRequestEventTarget_1.default {
|
|
782
815
|
**/
|
783
816
|
_decodeResponseText(data) {
|
784
817
|
const contextTypeEncodingRegexp = new RegExp(CONTENT_TYPE_ENCODING_REGEXP, 'gi');
|
785
|
-
|
786
|
-
|
787
|
-
contentType = this._state.incommingMessage.headers['content-type']; // For remote requests (http/https).
|
788
|
-
}
|
789
|
-
else {
|
790
|
-
contentType = this._state.requestHeaders['content-type']; // For local requests or unpredictable remote requests.
|
791
|
-
}
|
818
|
+
// Compatibility with file:// protocol or unpredictable http request.
|
819
|
+
const contentType = this.getResponseHeader('content-type') ?? this._state.requestHeaders['content-type'];
|
792
820
|
const charset = contextTypeEncodingRegexp.exec(contentType);
|
793
|
-
// Default utf-8
|
821
|
+
// Default encoding: utf-8.
|
794
822
|
return iconv_lite_1.default.decode(data, charset ? charset[1] : 'utf-8');
|
795
823
|
}
|
796
824
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLHttpRequest.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequest.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"XMLHttpRequest.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequest.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import { URL } from 'url';
|
2
|
+
import { URL, UrlObject } from 'url';
|
3
3
|
/**
|
4
4
|
* URL utility.
|
5
5
|
*/
|
@@ -32,5 +32,10 @@ export default class XMLHttpRequestURLUtility {
|
|
32
32
|
* @returns Host.
|
33
33
|
*/
|
34
34
|
static getHost(url: URL): string;
|
35
|
+
/**
|
36
|
+
*
|
37
|
+
* @param url
|
38
|
+
*/
|
39
|
+
static getMimeTypeFromExt(url: UrlObject): string;
|
35
40
|
}
|
36
41
|
//# sourceMappingURL=XMLHttpRequestURLUtility.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLHttpRequestURLUtility.d.ts","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"XMLHttpRequestURLUtility.d.ts","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AA6ErC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC5C;;;;;OAKG;WACW,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAItC;;;;;OAKG;WACW,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAIxC;;;;;OAKG;WACW,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAapD;;;;;OAKG;WACW,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAavC;;;OAGG;WACW,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;CAIxD"}
|
@@ -1,5 +1,82 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const path_1 = __importDefault(require("path"));
|
7
|
+
// MIME type.
|
8
|
+
const LOCAL_MIME_TYPES = {
|
9
|
+
json: 'application/json',
|
10
|
+
xml: 'application/xml',
|
11
|
+
html: 'text/html',
|
12
|
+
text: 'text/plain',
|
13
|
+
txt: 'text/plain',
|
14
|
+
xhtml: 'application/xhtml+xml',
|
15
|
+
xht: 'application/xhtml+xml',
|
16
|
+
xsl: 'application/xml',
|
17
|
+
xslt: 'application/xml',
|
18
|
+
rss: 'application/rss+xml',
|
19
|
+
atom: 'application/atom+xml',
|
20
|
+
yaml: 'application/x-yaml',
|
21
|
+
pdf: 'application/pdf',
|
22
|
+
zip: 'application/zip',
|
23
|
+
gzip: 'application/gzip',
|
24
|
+
rar: 'application/x-rar-compressed',
|
25
|
+
'7z': 'application/x-7z-compressed',
|
26
|
+
exe: 'application/x-msdownload',
|
27
|
+
csv: 'text/csv',
|
28
|
+
ics: 'text/calendar',
|
29
|
+
rtf: 'text/rtf',
|
30
|
+
js: 'application/javascript',
|
31
|
+
css: 'text/css',
|
32
|
+
png: 'image/png',
|
33
|
+
jpg: 'image/jpeg',
|
34
|
+
jpeg: 'image/jpeg',
|
35
|
+
gif: 'image/gif',
|
36
|
+
bmp: 'image/bmp',
|
37
|
+
ico: 'image/x-icon',
|
38
|
+
tiff: 'image/tiff',
|
39
|
+
tif: 'image/tiff',
|
40
|
+
svg: 'image/svg+xml',
|
41
|
+
svgz: 'image/svg+xml',
|
42
|
+
webp: 'image/webp',
|
43
|
+
wav: 'audio/wav',
|
44
|
+
webm: 'video/webm',
|
45
|
+
mp4: 'video/mp4',
|
46
|
+
mpeg: 'video/mpeg',
|
47
|
+
mpg: 'video/mpeg',
|
48
|
+
mov: 'video/quicktime',
|
49
|
+
avi: 'video/x-msvideo',
|
50
|
+
flv: 'video/x-flv',
|
51
|
+
mkv: 'video/x-matroska',
|
52
|
+
mka: 'audio/x-matroska',
|
53
|
+
m3u: 'audio/x-mpegurl',
|
54
|
+
m3u8: 'application/x-mpegURL',
|
55
|
+
pls: 'audio/x-scpls',
|
56
|
+
flac: 'audio/x-flac',
|
57
|
+
ogg: 'audio/ogg',
|
58
|
+
oga: 'audio/ogg',
|
59
|
+
ogv: 'video/ogg',
|
60
|
+
ogx: 'application/ogg',
|
61
|
+
opus: 'audio/opus',
|
62
|
+
spx: 'audio/ogg',
|
63
|
+
swf: 'application/x-shockwave-flash',
|
64
|
+
woff: 'font/woff',
|
65
|
+
woff2: 'font/woff2',
|
66
|
+
ttf: 'font/ttf',
|
67
|
+
eot: 'application/vnd.ms-fontobject',
|
68
|
+
otf: 'font/otf',
|
69
|
+
sfnt: 'application/font-sfnt',
|
70
|
+
bin: 'application/octet-stream',
|
71
|
+
doc: 'application/msword',
|
72
|
+
docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
73
|
+
xls: 'application/vnd.ms-excel',
|
74
|
+
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
75
|
+
ppt: 'application/vnd.ms-powerpoint',
|
76
|
+
pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
77
|
+
odt: 'application/vnd.oasis.opendocument.text',
|
78
|
+
ods: 'application/vnd.oasis.opendocument.spreadsheet'
|
79
|
+
};
|
3
80
|
/**
|
4
81
|
* URL utility.
|
5
82
|
*/
|
@@ -57,6 +134,14 @@ class XMLHttpRequestURLUtility {
|
|
57
134
|
return null;
|
58
135
|
}
|
59
136
|
}
|
137
|
+
/**
|
138
|
+
*
|
139
|
+
* @param url
|
140
|
+
*/
|
141
|
+
static getMimeTypeFromExt(url) {
|
142
|
+
const extension = path_1.default.extname(url.pathname).replace('.', '').toLowerCase();
|
143
|
+
return LOCAL_MIME_TYPES[extension] || 'application/octet-stream';
|
144
|
+
}
|
60
145
|
}
|
61
146
|
exports.default = XMLHttpRequestURLUtility;
|
62
147
|
//# sourceMappingURL=XMLHttpRequestURLUtility.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLHttpRequestURLUtility.js","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"XMLHttpRequestURLUtility.js","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -41,7 +41,7 @@ export default class HTMLCollection<T> extends Array implements IHTMLCollection<
|
|
41
41
|
this._namedItems[name].push(node);
|
42
42
|
}
|
43
43
|
|
44
|
-
if (!this
|
44
|
+
if (!this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
45
45
|
this[name] = this._namedItems[name][0];
|
46
46
|
}
|
47
47
|
}
|
@@ -62,7 +62,7 @@ export default class HTMLCollection<T> extends Array implements IHTMLCollection<
|
|
62
62
|
|
63
63
|
if (this._namedItems[name].length === 0) {
|
64
64
|
delete this._namedItems[name];
|
65
|
-
if (this
|
65
|
+
if (this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
66
66
|
delete this[name];
|
67
67
|
}
|
68
68
|
} else if (this._isValidPropertyName(name)) {
|
@@ -79,6 +79,10 @@ export default class HTMLCollection<T> extends Array implements IHTMLCollection<
|
|
79
79
|
* @returns True if the property name is valid.
|
80
80
|
*/
|
81
81
|
protected _isValidPropertyName(name: string): boolean {
|
82
|
-
return
|
82
|
+
return (
|
83
|
+
!this.constructor.prototype.hasOwnProperty(name) &&
|
84
|
+
!Array.prototype.hasOwnProperty(name) &&
|
85
|
+
(isNaN(Number(name)) || name.includes('.'))
|
86
|
+
);
|
83
87
|
}
|
84
88
|
}
|
@@ -93,7 +93,7 @@ export default class HTMLFormControlsCollection
|
|
93
93
|
|
94
94
|
if (this._namedItems[name].length === 0) {
|
95
95
|
delete this._namedItems[name];
|
96
|
-
if (this
|
96
|
+
if (this.hasOwnProperty(name) && this._isValidPropertyName(name)) {
|
97
97
|
delete this[name];
|
98
98
|
}
|
99
99
|
} else if (this._isValidPropertyName(name)) {
|
@@ -111,6 +111,10 @@ export default class HTMLFormControlsCollection
|
|
111
111
|
* @returns True if the property name is valid.
|
112
112
|
*/
|
113
113
|
protected _isValidPropertyName(name: string): boolean {
|
114
|
-
return
|
114
|
+
return (
|
115
|
+
!this.constructor.prototype.hasOwnProperty(name) &&
|
116
|
+
!Array.prototype.hasOwnProperty(name) &&
|
117
|
+
(isNaN(Number(name)) || name.includes('.'))
|
118
|
+
);
|
115
119
|
}
|
116
120
|
}
|
@@ -16,7 +16,7 @@ import ProgressEvent from '../event/events/ProgressEvent';
|
|
16
16
|
import XMLHttpResponseTypeEnum from './XMLHttpResponseTypeEnum';
|
17
17
|
import XMLHttpRequestCertificate from './XMLHttpRequestCertificate';
|
18
18
|
import XMLHttpRequestSyncRequestScriptBuilder from './utilities/XMLHttpRequestSyncRequestScriptBuilder';
|
19
|
-
import
|
19
|
+
import IconvLite from 'iconv-lite';
|
20
20
|
|
21
21
|
// These headers are not user setable.
|
22
22
|
// The following are allowed but banned in the spec:
|
@@ -72,7 +72,9 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
72
72
|
// Private properties
|
73
73
|
private readonly _ownerDocument: IDocument = null;
|
74
74
|
private _state: {
|
75
|
-
incommingMessage:
|
75
|
+
incommingMessage:
|
76
|
+
| HTTP.IncomingMessage
|
77
|
+
| { headers: { [name: string]: string | string[] }; statusCode: number };
|
76
78
|
response: ArrayBuffer | Blob | IDocument | object | string;
|
77
79
|
responseType: XMLHttpResponseTypeEnum | '';
|
78
80
|
responseText: string;
|
@@ -145,6 +147,15 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
145
147
|
return this._state.statusText;
|
146
148
|
}
|
147
149
|
|
150
|
+
/**
|
151
|
+
* Returns the response.
|
152
|
+
*
|
153
|
+
* @returns Response.
|
154
|
+
*/
|
155
|
+
public get response(): ArrayBuffer | Blob | IDocument | object | string {
|
156
|
+
return this._state.response;
|
157
|
+
}
|
158
|
+
|
148
159
|
/**
|
149
160
|
* Returns the response URL.
|
150
161
|
*
|
@@ -324,7 +335,9 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
324
335
|
this._state.incommingMessage.headers[lowerHeader] &&
|
325
336
|
!this._state.error
|
326
337
|
) {
|
327
|
-
return this._state.incommingMessage.headers[lowerHeader]
|
338
|
+
return Array.isArray(this._state.incommingMessage.headers[lowerHeader])
|
339
|
+
? (<string[]>this._state.incommingMessage.headers[lowerHeader]).join(', ')
|
340
|
+
: <string>this._state.incommingMessage.headers[lowerHeader];
|
328
341
|
}
|
329
342
|
|
330
343
|
return null;
|
@@ -587,14 +600,20 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
587
600
|
|
588
601
|
if (error) {
|
589
602
|
this._onError(error);
|
590
|
-
|
603
|
+
return;
|
604
|
+
}
|
605
|
+
|
606
|
+
if (response) {
|
591
607
|
this._state.incommingMessage = {
|
592
608
|
statusCode: response.statusCode,
|
593
609
|
headers: response.headers
|
594
610
|
};
|
595
611
|
this._state.status = response.statusCode;
|
596
612
|
this._state.statusText = response.statusMessage;
|
597
|
-
//
|
613
|
+
// Although it will immediately be set to loading,
|
614
|
+
// According to the spec, the state should be headersRecieved first.
|
615
|
+
this._setState(XMLHttpRequestReadyStateEnum.headersRecieved);
|
616
|
+
this._setState(XMLHttpRequestReadyStateEnum.loading);
|
598
617
|
this._state.response = this._decodeResponseText(Buffer.from(response.data, 'base64'));
|
599
618
|
this._state.responseText = this._state.response;
|
600
619
|
this._state.responseXML = null;
|
@@ -612,7 +631,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
612
631
|
this._state.incommingMessage.statusCode === 307
|
613
632
|
) {
|
614
633
|
const redirectUrl = new URL(
|
615
|
-
this._state.incommingMessage.headers['location'],
|
634
|
+
<string>this._state.incommingMessage.headers['location'],
|
616
635
|
this._ownerDocument.defaultView.location
|
617
636
|
);
|
618
637
|
ssl = redirectUrl.protocol === 'https:';
|
@@ -753,9 +772,9 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
753
772
|
return;
|
754
773
|
}
|
755
774
|
|
756
|
-
this._setState(XMLHttpRequestReadyStateEnum.headersRecieved);
|
757
775
|
this._state.status = this._state.incommingMessage.statusCode;
|
758
776
|
this._state.statusText = this._state.incommingMessage.statusMessage;
|
777
|
+
this._setState(XMLHttpRequestReadyStateEnum.headersRecieved);
|
759
778
|
|
760
779
|
// Initialize response.
|
761
780
|
let tempResponse = Buffer.from(new Uint8Array(0));
|
@@ -826,10 +845,14 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
826
845
|
data = await FS.promises.readFile(decodeURI(url.pathname.slice(1)));
|
827
846
|
} catch (error) {
|
828
847
|
this._onError(error);
|
848
|
+
// Release async task.
|
849
|
+
this._ownerDocument.defaultView.happyDOM.asyncTaskManager.endTask(this._state.asyncTaskID);
|
850
|
+
return;
|
829
851
|
}
|
830
852
|
|
831
853
|
const dataLength = data.length;
|
832
854
|
|
855
|
+
// @TODO: set state headersRecieved first.
|
833
856
|
this._setState(XMLHttpRequestReadyStateEnum.loading);
|
834
857
|
this.dispatchEvent(
|
835
858
|
new ProgressEvent('progress', {
|
@@ -840,9 +863,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
840
863
|
);
|
841
864
|
|
842
865
|
if (data) {
|
843
|
-
this._parseLocalRequestData(data);
|
866
|
+
this._parseLocalRequestData(url, data);
|
844
867
|
}
|
845
868
|
|
869
|
+
this._setState(XMLHttpRequestReadyStateEnum.done);
|
846
870
|
this._ownerDocument.defaultView.happyDOM.asyncTaskManager.endTask(this._state.asyncTaskID);
|
847
871
|
}
|
848
872
|
|
@@ -857,20 +881,37 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
857
881
|
data = FS.readFileSync(decodeURI(url.pathname.slice(1)));
|
858
882
|
} catch (error) {
|
859
883
|
this._onError(error);
|
884
|
+
return;
|
860
885
|
}
|
861
886
|
|
887
|
+
// @TODO: set state headersRecieved first.
|
888
|
+
this._setState(XMLHttpRequestReadyStateEnum.loading);
|
889
|
+
|
862
890
|
if (data) {
|
863
|
-
this._parseLocalRequestData(data);
|
891
|
+
this._parseLocalRequestData(url, data);
|
864
892
|
}
|
893
|
+
|
894
|
+
this._setState(XMLHttpRequestReadyStateEnum.done);
|
865
895
|
}
|
866
896
|
|
867
897
|
/**
|
868
898
|
* Parses local request data.
|
869
899
|
*
|
900
|
+
* @param url URL.
|
870
901
|
* @param data Data.
|
871
902
|
*/
|
872
|
-
private _parseLocalRequestData(data: Buffer): void {
|
873
|
-
|
903
|
+
private _parseLocalRequestData(url: UrlObject, data: Buffer): void {
|
904
|
+
// Manually set the response headers.
|
905
|
+
this._state.incommingMessage = {
|
906
|
+
statusCode: 200,
|
907
|
+
headers: {
|
908
|
+
'content-length': String(data.length),
|
909
|
+
'content-type': XMLHttpRequestURLUtility.getMimeTypeFromExt(url)
|
910
|
+
// @TODO: 'last-modified':
|
911
|
+
}
|
912
|
+
};
|
913
|
+
|
914
|
+
this._state.status = this._state.incommingMessage.statusCode;
|
874
915
|
this._state.statusText = 'OK';
|
875
916
|
|
876
917
|
const { response, responseXML, responseText } = this._parseResponseData(data);
|
@@ -936,7 +977,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
936
977
|
const domParser = new window.DOMParser();
|
937
978
|
|
938
979
|
try {
|
939
|
-
response = domParser.parseFromString(
|
980
|
+
response = domParser.parseFromString(this._decodeResponseText(data), 'text/xml');
|
940
981
|
} catch (e) {
|
941
982
|
return { response: null, responseText: null, responseXML: null };
|
942
983
|
}
|
@@ -970,9 +1011,11 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
970
1011
|
/**
|
971
1012
|
* Set Cookies from response headers.
|
972
1013
|
*
|
973
|
-
* @param headers
|
1014
|
+
* @param headers Headers.
|
974
1015
|
*/
|
975
|
-
private _setCookies(
|
1016
|
+
private _setCookies(
|
1017
|
+
headers: { [name: string]: string | string[] } | HTTP.IncomingHttpHeaders
|
1018
|
+
): void {
|
976
1019
|
const originURL = new URL(this._settings.url, this._ownerDocument.defaultView.location);
|
977
1020
|
for (const header of ['set-cookie', 'set-cookie2']) {
|
978
1021
|
if (Array.isArray(headers[header])) {
|
@@ -982,7 +1025,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
982
1025
|
} else if (headers[header]) {
|
983
1026
|
this._ownerDocument.defaultView.document._cookie.addCookieString(
|
984
1027
|
originURL,
|
985
|
-
headers[header]
|
1028
|
+
<string>headers[header]
|
986
1029
|
);
|
987
1030
|
}
|
988
1031
|
}
|
@@ -1009,14 +1052,11 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget {
|
|
1009
1052
|
**/
|
1010
1053
|
private _decodeResponseText(data: Buffer): string {
|
1011
1054
|
const contextTypeEncodingRegexp = new RegExp(CONTENT_TYPE_ENCODING_REGEXP, 'gi');
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
} else {
|
1016
|
-
contentType = this._state.requestHeaders['content-type']; // For local requests or unpredictable remote requests.
|
1017
|
-
}
|
1055
|
+
// Compatibility with file:// protocol or unpredictable http request.
|
1056
|
+
const contentType =
|
1057
|
+
this.getResponseHeader('content-type') ?? this._state.requestHeaders['content-type'];
|
1018
1058
|
const charset = contextTypeEncodingRegexp.exec(contentType);
|
1019
|
-
// Default utf-8
|
1020
|
-
return
|
1059
|
+
// Default encoding: utf-8.
|
1060
|
+
return IconvLite.decode(data, charset ? charset[1] : 'utf-8');
|
1021
1061
|
}
|
1022
1062
|
}
|
@@ -1,4 +1,79 @@
|
|
1
|
-
import { URL } from 'url';
|
1
|
+
import { URL, UrlObject } from 'url';
|
2
|
+
import Path from 'path';
|
3
|
+
|
4
|
+
// MIME type.
|
5
|
+
const LOCAL_MIME_TYPES = {
|
6
|
+
json: 'application/json',
|
7
|
+
xml: 'application/xml',
|
8
|
+
html: 'text/html',
|
9
|
+
text: 'text/plain',
|
10
|
+
txt: 'text/plain',
|
11
|
+
xhtml: 'application/xhtml+xml',
|
12
|
+
xht: 'application/xhtml+xml',
|
13
|
+
xsl: 'application/xml',
|
14
|
+
xslt: 'application/xml',
|
15
|
+
rss: 'application/rss+xml',
|
16
|
+
atom: 'application/atom+xml',
|
17
|
+
yaml: 'application/x-yaml',
|
18
|
+
pdf: 'application/pdf',
|
19
|
+
zip: 'application/zip',
|
20
|
+
gzip: 'application/gzip',
|
21
|
+
rar: 'application/x-rar-compressed',
|
22
|
+
'7z': 'application/x-7z-compressed',
|
23
|
+
exe: 'application/x-msdownload',
|
24
|
+
csv: 'text/csv',
|
25
|
+
ics: 'text/calendar',
|
26
|
+
rtf: 'text/rtf',
|
27
|
+
js: 'application/javascript',
|
28
|
+
css: 'text/css',
|
29
|
+
png: 'image/png',
|
30
|
+
jpg: 'image/jpeg',
|
31
|
+
jpeg: 'image/jpeg',
|
32
|
+
gif: 'image/gif',
|
33
|
+
bmp: 'image/bmp',
|
34
|
+
ico: 'image/x-icon',
|
35
|
+
tiff: 'image/tiff',
|
36
|
+
tif: 'image/tiff',
|
37
|
+
svg: 'image/svg+xml',
|
38
|
+
svgz: 'image/svg+xml',
|
39
|
+
webp: 'image/webp',
|
40
|
+
wav: 'audio/wav',
|
41
|
+
webm: 'video/webm',
|
42
|
+
mp4: 'video/mp4',
|
43
|
+
mpeg: 'video/mpeg',
|
44
|
+
mpg: 'video/mpeg',
|
45
|
+
mov: 'video/quicktime',
|
46
|
+
avi: 'video/x-msvideo',
|
47
|
+
flv: 'video/x-flv',
|
48
|
+
mkv: 'video/x-matroska',
|
49
|
+
mka: 'audio/x-matroska',
|
50
|
+
m3u: 'audio/x-mpegurl',
|
51
|
+
m3u8: 'application/x-mpegURL',
|
52
|
+
pls: 'audio/x-scpls',
|
53
|
+
flac: 'audio/x-flac',
|
54
|
+
ogg: 'audio/ogg',
|
55
|
+
oga: 'audio/ogg',
|
56
|
+
ogv: 'video/ogg',
|
57
|
+
ogx: 'application/ogg',
|
58
|
+
opus: 'audio/opus',
|
59
|
+
spx: 'audio/ogg',
|
60
|
+
swf: 'application/x-shockwave-flash',
|
61
|
+
woff: 'font/woff',
|
62
|
+
woff2: 'font/woff2',
|
63
|
+
ttf: 'font/ttf',
|
64
|
+
eot: 'application/vnd.ms-fontobject',
|
65
|
+
otf: 'font/otf',
|
66
|
+
sfnt: 'application/font-sfnt',
|
67
|
+
bin: 'application/octet-stream',
|
68
|
+
doc: 'application/msword',
|
69
|
+
docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
70
|
+
xls: 'application/vnd.ms-excel',
|
71
|
+
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
72
|
+
ppt: 'application/vnd.ms-powerpoint',
|
73
|
+
pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
74
|
+
odt: 'application/vnd.oasis.opendocument.text',
|
75
|
+
ods: 'application/vnd.oasis.opendocument.spreadsheet'
|
76
|
+
};
|
2
77
|
|
3
78
|
/**
|
4
79
|
* URL utility.
|
@@ -61,4 +136,13 @@ export default class XMLHttpRequestURLUtility {
|
|
61
136
|
return null;
|
62
137
|
}
|
63
138
|
}
|
139
|
+
|
140
|
+
/**
|
141
|
+
*
|
142
|
+
* @param url
|
143
|
+
*/
|
144
|
+
public static getMimeTypeFromExt(url: UrlObject): string {
|
145
|
+
const extension = Path.extname(url.pathname).replace('.', '').toLowerCase();
|
146
|
+
return LOCAL_MIME_TYPES[extension] || 'application/octet-stream';
|
147
|
+
}
|
64
148
|
}
|