happy-dom 7.7.2 → 7.8.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.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (97) hide show
  1. package/README.md +62 -27
  2. package/lib/async-task-manager/AsyncTaskManager.d.ts +3 -8
  3. package/lib/async-task-manager/AsyncTaskManager.js +21 -24
  4. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  5. package/lib/event/IEventListener.d.ts +1 -1
  6. package/lib/exception/DOMExceptionNameEnum.d.ts +4 -1
  7. package/lib/exception/DOMExceptionNameEnum.js +3 -0
  8. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  9. package/lib/fetch/FetchHandler.d.ts +3 -2
  10. package/lib/fetch/FetchHandler.js +31 -3
  11. package/lib/fetch/FetchHandler.js.map +1 -1
  12. package/lib/fetch/RequestInfo.d.ts +5 -0
  13. package/lib/fetch/RequestInfo.js +3 -0
  14. package/lib/fetch/RequestInfo.js.map +1 -0
  15. package/lib/fetch/ResourceFetchHandler.d.ts +2 -2
  16. package/lib/fetch/ResourceFetchHandler.js +9 -8
  17. package/lib/fetch/ResourceFetchHandler.js.map +1 -1
  18. package/lib/index.d.ts +1 -2
  19. package/lib/index.js +3 -4
  20. package/lib/index.js.map +1 -1
  21. package/lib/location/Location.d.ts +2 -1
  22. package/lib/location/Location.js +4 -7
  23. package/lib/location/Location.js.map +1 -1
  24. package/lib/location/RelativeURL.d.ts +3 -1
  25. package/lib/location/RelativeURL.js +2 -11
  26. package/lib/location/RelativeURL.js.map +1 -1
  27. package/lib/nodes/document/Document.d.ts +12 -2
  28. package/lib/nodes/document/Document.js +16 -2
  29. package/lib/nodes/document/Document.js.map +1 -1
  30. package/lib/nodes/document/IDocument.d.ts +2 -0
  31. package/lib/nodes/html-link-element/HTMLLinkElement.js +5 -2
  32. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  33. package/lib/nodes/html-script-element/HTMLScriptElement.js +1 -1
  34. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  35. package/lib/nodes/html-script-element/ScriptUtility.js +4 -0
  36. package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
  37. package/lib/window/IHappyDOMSettings.d.ts +9 -0
  38. package/lib/window/IHappyDOMSettings.js +3 -0
  39. package/lib/window/IHappyDOMSettings.js.map +1 -0
  40. package/lib/window/IWindow.d.ts +15 -6
  41. package/lib/window/Window.d.ts +18 -3
  42. package/lib/window/Window.js +26 -4
  43. package/lib/window/Window.js.map +1 -1
  44. package/lib/xml-http-request/XMLHttpRequest.d.ts +196 -0
  45. package/lib/xml-http-request/XMLHttpRequest.js +777 -0
  46. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -0
  47. package/lib/xml-http-request/XMLHttpRequestCertificate.d.ts +5 -0
  48. package/lib/xml-http-request/XMLHttpRequestCertificate.js +55 -0
  49. package/lib/xml-http-request/XMLHttpRequestCertificate.js.map +1 -0
  50. package/lib/xml-http-request/XMLHttpRequestEventTarget.d.ts +15 -0
  51. package/lib/xml-http-request/XMLHttpRequestEventTarget.js +23 -0
  52. package/lib/xml-http-request/XMLHttpRequestEventTarget.js.map +1 -0
  53. package/lib/xml-http-request/XMLHttpRequestReadyStateEnum.d.ts +8 -0
  54. package/lib/xml-http-request/XMLHttpRequestReadyStateEnum.js +12 -0
  55. package/lib/xml-http-request/XMLHttpRequestReadyStateEnum.js.map +1 -0
  56. package/lib/xml-http-request/XMLHttpRequestUpload.d.ts +6 -0
  57. package/lib/xml-http-request/XMLHttpRequestUpload.js +13 -0
  58. package/lib/xml-http-request/XMLHttpRequestUpload.js.map +1 -0
  59. package/lib/xml-http-request/XMLHttpResponseTypeEnum.d.ts +8 -0
  60. package/lib/xml-http-request/XMLHttpResponseTypeEnum.js +12 -0
  61. package/lib/xml-http-request/XMLHttpResponseTypeEnum.js.map +1 -0
  62. package/lib/xml-http-request/utilities/XMLHttpRequestSyncRequestScriptBuilder.d.ts +15 -0
  63. package/lib/xml-http-request/utilities/XMLHttpRequestSyncRequestScriptBuilder.js +55 -0
  64. package/lib/xml-http-request/utilities/XMLHttpRequestSyncRequestScriptBuilder.js.map +1 -0
  65. package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.d.ts +35 -0
  66. package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.js +62 -0
  67. package/lib/xml-http-request/utilities/XMLHttpRequestURLUtility.js.map +1 -0
  68. package/package.json +2 -2
  69. package/src/async-task-manager/AsyncTaskManager.ts +24 -26
  70. package/src/event/IEventListener.ts +1 -1
  71. package/src/exception/DOMExceptionNameEnum.ts +4 -1
  72. package/src/fetch/FetchHandler.ts +40 -4
  73. package/src/fetch/RequestInfo.ts +6 -0
  74. package/src/fetch/ResourceFetchHandler.ts +10 -8
  75. package/src/index.ts +1 -2
  76. package/src/location/Location.ts +3 -3
  77. package/src/location/RelativeURL.ts +3 -14
  78. package/src/nodes/document/Document.ts +18 -2
  79. package/src/nodes/document/IDocument.ts +2 -0
  80. package/src/nodes/html-link-element/HTMLLinkElement.ts +7 -2
  81. package/src/nodes/html-script-element/HTMLScriptElement.ts +1 -1
  82. package/src/nodes/html-script-element/ScriptUtility.ts +8 -0
  83. package/src/window/IHappyDOMSettings.ts +9 -0
  84. package/src/window/IWindow.ts +15 -6
  85. package/src/window/Window.ts +36 -5
  86. package/src/xml-http-request/XMLHttpRequest.ts +998 -0
  87. package/src/xml-http-request/XMLHttpRequestCertificate.ts +52 -0
  88. package/src/xml-http-request/XMLHttpRequestEventTarget.ts +17 -0
  89. package/src/xml-http-request/XMLHttpRequestReadyStateEnum.ts +9 -0
  90. package/src/xml-http-request/XMLHttpRequestUpload.ts +6 -0
  91. package/src/xml-http-request/XMLHttpResponseTypeEnum.ts +9 -0
  92. package/src/xml-http-request/utilities/XMLHttpRequestSyncRequestScriptBuilder.ts +53 -0
  93. package/src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts +64 -0
  94. package/lib/location/URL.d.ts +0 -53
  95. package/lib/location/URL.js +0 -96
  96. package/lib/location/URL.js.map +0 -1
  97. package/src/location/URL.ts +0 -102
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequest.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ cert: string;
3
+ key: string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // SSL certificate generated for Happy DOM to be able to perform HTTPS requests
4
+ exports.default = {
5
+ cert: `-----BEGIN CERTIFICATE-----
6
+ MIIDYzCCAkugAwIBAgIUJRKB/H66hpet1VfUlm0CiXqePA4wDQYJKoZIhvcNAQEL
7
+ BQAwQTELMAkGA1UEBhMCU0UxDjAMBgNVBAgMBVNrYW5lMQ4wDAYDVQQHDAVNYWxt
8
+ bzESMBAGA1UECgwJSGFwcHkgRE9NMB4XDTIyMTAxMTIyMDM0OVoXDTMyMTAwODIy
9
+ MDM0OVowQTELMAkGA1UEBhMCU0UxDjAMBgNVBAgMBVNrYW5lMQ4wDAYDVQQHDAVN
10
+ YWxtbzESMBAGA1UECgwJSGFwcHkgRE9NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
11
+ MIIBCgKCAQEAqerQSQEg/SxVxRiwlItithr5e5EMZo1nsqt/xOxagbmpW3IEmt0j
12
+ bpbH7iEF4DDEo7KAOwUCOwVWeFxRoag8lG2ax48wrgjlCna45XDn0Xeg1ARajL04
13
+ gs46HZ0VrzIloVGfln0zgt/Vum5BNqs9Oc5fQoBmoP3cAn3dn4ZVcP0AKthtcyPl
14
+ q2DuNRN0PV0D2RtMSiAy9l1Ko6N5x+sAeClDyOL+sTDLngZBVeZyOKt9Id15S8Zt
15
+ XtA6VMgHnnF3jChn7pag77rsd/y5iANAVNZYqRl+Eg7xaDcsvbgH46UBOrBcB39Q
16
+ tTh5Mtjoxep5e3ZDFG+kQ1HUE+iz5O5n0wIDAQABo1MwUTAdBgNVHQ4EFgQU69s9
17
+ YSobG/m2SN4L/7zTaF7iDbwwHwYDVR0jBBgwFoAU69s9YSobG/m2SN4L/7zTaF7i
18
+ DbwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAi/WUXx2oal8L
19
+ YnPlIuKfh49n/K18wXSYG//oFYwxfVxqpYH8hUiXVm/GUcXCxS++hUkaKLqXmH9q
20
+ MKJiCrZr3vS+2nsBKopkICu/TLdROl0sAI9lByfnEbfSAzjxe1IWJdK8NdY0y5m5
21
+ 9pEr/URVIAp/CxrneyASb4q0Jg5To3FR7vYc+2X6wZn0MundKMg6Dp9/A37jiF3l
22
+ Tt/EJp299YZcsUzh+LnRuggRjnoOVu1aLcLFlaUiwZfy9m8mLG6B/mdW/qNzNMh9
23
+ Oqvg1zfGdpz/4D/2UUUBn6pq1vbsoAaF3OesoA3mfDcegDf/H9woJlpT0Wql+e68
24
+ Y3FblSokcA==
25
+ -----END CERTIFICATE-----`,
26
+ key: `-----BEGIN PRIVATE KEY-----
27
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCp6tBJASD9LFXF
28
+ GLCUi2K2Gvl7kQxmjWeyq3/E7FqBualbcgSa3SNulsfuIQXgMMSjsoA7BQI7BVZ4
29
+ XFGhqDyUbZrHjzCuCOUKdrjlcOfRd6DUBFqMvTiCzjodnRWvMiWhUZ+WfTOC39W6
30
+ bkE2qz05zl9CgGag/dwCfd2fhlVw/QAq2G1zI+WrYO41E3Q9XQPZG0xKIDL2XUqj
31
+ o3nH6wB4KUPI4v6xMMueBkFV5nI4q30h3XlLxm1e0DpUyAeecXeMKGfulqDvuux3
32
+ /LmIA0BU1lipGX4SDvFoNyy9uAfjpQE6sFwHf1C1OHky2OjF6nl7dkMUb6RDUdQT
33
+ 6LPk7mfTAgMBAAECggEAKkwTkTjAt4UjzK56tl+EMQTB+ep/hb/JgoaChci4Nva6
34
+ m9LkJpDJ0yuhlTuPNOGu8XjrxsVWas7HWarRf0Zb3i7yip6wZYI9Ub+AA015x4DZ
35
+ /i0fRU2NFbK0cM67qSL4jxG8gj+kZP3HPGNZxHwX/53JxMolwgmvjMc8NgvAlSFd
36
+ NnV9h4xtbhUh1NGS5zmP3iU2rwnE8JrIEzwy6axLom7nekAgkdcbAr0UoBs8gcgH
37
+ aYNhU4Gz3tGcZZ0IXAfT/bJIH1Ko8AGv4pssWc3BXcmmNdm/+kzvHIxEIV7Qegmo
38
+ XG1ZyZCyD/0b4/3e8ySDBEDqwR+HeyTW2isWG2agAQKBgQDp44aTwr3dkIXY30xv
39
+ FPfUOipg/B49dWnffYJ9MWc1FT9ijNPAngWSk0EIiEQIazICcUBI4Yji6/KeyqLJ
40
+ GdLpDi1CkKqtyh73mjELinYp3EUQgEa77aQogGa2+nMOVfu+O5CtloUrv/A18jX3
41
+ +VEyaEASK0fWmnSI0OdlxQHIAQKBgQC5+xOls2F3MlKASvWRLlnW1wHqlDTtVoYg
42
+ 5Nh8syZH4Ci2UH8tON3A5/7SWNM0t1cgV6Cw4zW8Z2spgIT/W0iYYrQ4hHL1xdCu
43
+ +CxL1km4Gy8Uwpsd+KdFahFqF/XTmLzW0HXLxWSK0fTwmdV0SFrKF3MXfTCU2AeZ
44
+ jJoMFb6P0wKBgQC3Odw6s0vkYAzLGhuZxfZkVvDOK5RRF0NKpttr0iEFL9EJFkPo
45
+ 2KKK8jr3QTDy229BBJGUxsJi6u6VwS8HlehpVQbV59kd7oKV/EBBx0XMg1fDlopT
46
+ PNbmN7i/zbIG4AsoOyebJZjL7kBzMn1e9vzKHWtcEHXlw/hZGja8vjooAQKBgAeg
47
+ xK2HLfg1mCyq5meN/yFQsENu0LzrT5UJzddPgcJw7zqLEqxIKNBAs7Ls8by3yFsL
48
+ PQwERa/0jfCl1M6kb9XQNpQa2pw6ANUsWKTDpUJn2wZ+9N3F1RaDwzMWyH5lRVmK
49
+ M0qoTfdjpSg5Jwgd75taWt4bxGJWeflSSv8z5R0BAoGAWL8c527AbeBvx2tOYKkD
50
+ 2TFranvANNcoMrbeviZSkkGvMNDP3p8b6juJwXOIeWNr8q4vFgCzLmq6d1/9gYm2
51
+ 3XJwwyD0LKlqzkBrrKU47qrnmMosUrIRlrAzd3HbShOptxc6Iz2apSaUDKGKXkaw
52
+ gl5OpEjeliU7Mus0BVS858g=
53
+ -----END PRIVATE KEY-----`
54
+ };
55
+ //# sourceMappingURL=XMLHttpRequestCertificate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestCertificate.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequestCertificate.ts"],"names":[],"mappings":";;AAAA,+EAA+E;AAC/E,kBAAe;IACd,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;0BAoBmB;IACzB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BoB;CACzB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import ProgressEvent from '../event/events/ProgressEvent';
2
+ import EventTarget from '../event/EventTarget';
3
+ export declare type ProgressEventListener = (event: ProgressEvent) => void;
4
+ /**
5
+ * References: https://xhr.spec.whatwg.org/#xmlhttprequesteventtarget.
6
+ */
7
+ export default class XMLHttpRequestEventTarget extends EventTarget {
8
+ onloadstart: ProgressEventListener | null;
9
+ onprogress: ProgressEventListener | null;
10
+ onabort: (event: ProgressEvent) => void | null;
11
+ onerror: ProgressEventListener | null;
12
+ onload: ProgressEventListener | null;
13
+ ontimeout: ProgressEventListener | null;
14
+ onloadend: ProgressEventListener | null;
15
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const EventTarget_1 = __importDefault(require("../event/EventTarget"));
7
+ /**
8
+ * References: https://xhr.spec.whatwg.org/#xmlhttprequesteventtarget.
9
+ */
10
+ class XMLHttpRequestEventTarget extends EventTarget_1.default {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.onloadstart = null;
14
+ this.onprogress = null;
15
+ this.onabort = null;
16
+ this.onerror = null;
17
+ this.onload = null;
18
+ this.ontimeout = null;
19
+ this.onloadend = null;
20
+ }
21
+ }
22
+ exports.default = XMLHttpRequestEventTarget;
23
+ //# sourceMappingURL=XMLHttpRequestEventTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestEventTarget.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequestEventTarget.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAI/C;;GAEG;AACH,MAAqB,yBAA0B,SAAQ,qBAAW;IAAlE;;QACQ,gBAAW,GAAiC,IAAI,CAAC;QACjD,eAAU,GAAiC,IAAI,CAAC;QAChD,YAAO,GAA0C,IAAI,CAAC;QACtD,YAAO,GAAiC,IAAI,CAAC;QAC7C,WAAM,GAAiC,IAAI,CAAC;QAC5C,cAAS,GAAiC,IAAI,CAAC;QAC/C,cAAS,GAAiC,IAAI,CAAC;IACvD,CAAC;CAAA;AARD,4CAQC"}
@@ -0,0 +1,8 @@
1
+ declare enum XMLHttpRequestReadyStateEnum {
2
+ unsent = 0,
3
+ opened = 1,
4
+ headersRecieved = 2,
5
+ loading = 3,
6
+ done = 4
7
+ }
8
+ export default XMLHttpRequestReadyStateEnum;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var XMLHttpRequestReadyStateEnum;
4
+ (function (XMLHttpRequestReadyStateEnum) {
5
+ XMLHttpRequestReadyStateEnum[XMLHttpRequestReadyStateEnum["unsent"] = 0] = "unsent";
6
+ XMLHttpRequestReadyStateEnum[XMLHttpRequestReadyStateEnum["opened"] = 1] = "opened";
7
+ XMLHttpRequestReadyStateEnum[XMLHttpRequestReadyStateEnum["headersRecieved"] = 2] = "headersRecieved";
8
+ XMLHttpRequestReadyStateEnum[XMLHttpRequestReadyStateEnum["loading"] = 3] = "loading";
9
+ XMLHttpRequestReadyStateEnum[XMLHttpRequestReadyStateEnum["done"] = 4] = "done";
10
+ })(XMLHttpRequestReadyStateEnum || (XMLHttpRequestReadyStateEnum = {}));
11
+ exports.default = XMLHttpRequestReadyStateEnum;
12
+ //# sourceMappingURL=XMLHttpRequestReadyStateEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestReadyStateEnum.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequestReadyStateEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,4BAMJ;AAND,WAAK,4BAA4B;IAChC,mFAAU,CAAA;IACV,mFAAU,CAAA;IACV,qGAAmB,CAAA;IACnB,qFAAW,CAAA;IACX,+EAAQ,CAAA;AACT,CAAC,EANI,4BAA4B,KAA5B,4BAA4B,QAMhC;AAED,kBAAe,4BAA4B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import XMLHttpRequestEventTarget from './XMLHttpRequestEventTarget';
2
+ /**
3
+ * References: https://xhr.spec.whatwg.org/#xmlhttprequestupload.
4
+ */
5
+ export default class XMLHttpRequestUpload extends XMLHttpRequestEventTarget {
6
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const XMLHttpRequestEventTarget_1 = __importDefault(require("./XMLHttpRequestEventTarget"));
7
+ /**
8
+ * References: https://xhr.spec.whatwg.org/#xmlhttprequestupload.
9
+ */
10
+ class XMLHttpRequestUpload extends XMLHttpRequestEventTarget_1.default {
11
+ }
12
+ exports.default = XMLHttpRequestUpload;
13
+ //# sourceMappingURL=XMLHttpRequestUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestUpload.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpRequestUpload.ts"],"names":[],"mappings":";;;;;AAAA,4FAAoE;AAEpE;;GAEG;AACH,MAAqB,oBAAqB,SAAQ,mCAAyB;CAAG;AAA9E,uCAA8E"}
@@ -0,0 +1,8 @@
1
+ declare enum XMLHttpResponseTypeEnum {
2
+ arraybuffer = "arraybuffer",
3
+ blob = "blob",
4
+ document = "document",
5
+ json = "json",
6
+ text = "text"
7
+ }
8
+ export default XMLHttpResponseTypeEnum;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var XMLHttpResponseTypeEnum;
4
+ (function (XMLHttpResponseTypeEnum) {
5
+ XMLHttpResponseTypeEnum["arraybuffer"] = "arraybuffer";
6
+ XMLHttpResponseTypeEnum["blob"] = "blob";
7
+ XMLHttpResponseTypeEnum["document"] = "document";
8
+ XMLHttpResponseTypeEnum["json"] = "json";
9
+ XMLHttpResponseTypeEnum["text"] = "text";
10
+ })(XMLHttpResponseTypeEnum || (XMLHttpResponseTypeEnum = {}));
11
+ exports.default = XMLHttpResponseTypeEnum;
12
+ //# sourceMappingURL=XMLHttpResponseTypeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpResponseTypeEnum.js","sourceRoot":"","sources":["../../src/xml-http-request/XMLHttpResponseTypeEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,uBAMJ;AAND,WAAK,uBAAuB;IAC3B,sDAA2B,CAAA;IAC3B,wCAAa,CAAA;IACb,gDAAqB,CAAA;IACrB,wCAAa,CAAA;IACb,wCAAa,CAAA;AACd,CAAC,EANI,uBAAuB,KAAvB,uBAAuB,QAM3B;AAED,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ import HTTPS from 'https';
3
+ /**
4
+ * Synchroneous XMLHttpRequest script builder.
5
+ */
6
+ export default class XMLHttpRequestSyncRequestScriptBuilder {
7
+ /**
8
+ * Sends a synchronous request.
9
+ *
10
+ * @param options Options.
11
+ * @param ssl SSL.
12
+ * @param data Data.
13
+ */
14
+ static getScript(options: HTTPS.RequestOptions, ssl: boolean, data?: string): string;
15
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Synchroneous XMLHttpRequest script builder.
5
+ */
6
+ class XMLHttpRequestSyncRequestScriptBuilder {
7
+ /**
8
+ * Sends a synchronous request.
9
+ *
10
+ * @param options Options.
11
+ * @param ssl SSL.
12
+ * @param data Data.
13
+ */
14
+ static getScript(options, ssl, data) {
15
+ // Synchronous
16
+ // Note: console.log === stdout
17
+ // The async request the other Node process executes
18
+ return `
19
+ const HTTP = require('http');
20
+ const HTTPS = require('https');
21
+ const sendRequest = HTTP${ssl ? 'S' : ''}.request;
22
+ const options = ${JSON.stringify(options)};
23
+ const request = sendRequest(options, (response) => {
24
+ let responseText = '';
25
+ let responseData = Buffer.alloc(0);
26
+ response.setEncoding('utf8');
27
+ response.on('data', (chunk) => {
28
+ responseText += chunk;
29
+ responseData = Buffer.concat([responseData, Buffer.from(chunk)]);
30
+ });
31
+ response.on('end', () => {
32
+ console.log(JSON.stringify({
33
+ error: null,
34
+ data: {
35
+ statusCode: response.statusCode,
36
+ statusMessage: response.statusMessage,
37
+ headers: response.headers,
38
+ text: responseText,
39
+ data: responseData.toString('base64')
40
+ }
41
+ }));
42
+ });
43
+ response.on('error', (error) => {
44
+ console.log(JSON.stringify({ error: error.toString(), data: null }));
45
+ });
46
+ });
47
+ request.write(\`${JSON.stringify(data ?? '')
48
+ .slice(1, -1)
49
+ .replace(/'/g, "\\'")}\`);
50
+ request.end();
51
+ `;
52
+ }
53
+ }
54
+ exports.default = XMLHttpRequestSyncRequestScriptBuilder;
55
+ //# sourceMappingURL=XMLHttpRequestSyncRequestScriptBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestSyncRequestScriptBuilder.js","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestSyncRequestScriptBuilder.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,MAAqB,sCAAsC;IAC1D;;;;;;OAMG;IACI,MAAM,CAAC,SAAS,CAAC,OAA6B,EAAE,GAAY,EAAE,IAAa;QACjF,cAAc;QACd,+BAA+B;QAC/B,oDAAoD;QACpD,OAAO;;;0CAGiC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;kCACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;kCAyBvB,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;aAClD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;aAEjB,CAAC;IACb,CAAC;CACD;AA/CD,yDA+CC"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="node" />
2
+ import { URL } from 'url';
3
+ /**
4
+ * URL utility.
5
+ */
6
+ export default class XMLHttpRequestURLUtility {
7
+ /**
8
+ * Returns "true" if SSL.
9
+ *
10
+ * @param url URL.
11
+ * @returns "true" if SSL.
12
+ */
13
+ static isSSL(url: URL): boolean;
14
+ /**
15
+ * Returns "true" if SSL.
16
+ *
17
+ * @param url URL.
18
+ * @returns "true" if SSL.
19
+ */
20
+ static isLocal(url: URL): boolean;
21
+ /**
22
+ * Returns "true" if protocol is valid.
23
+ *
24
+ * @param url URL.
25
+ * @returns "true" if valid.
26
+ */
27
+ static isSupportedProtocol(url: URL): boolean;
28
+ /**
29
+ * Returns host.
30
+ *
31
+ * @param url URL.
32
+ * @returns Host.
33
+ */
34
+ static getHost(url: URL): string;
35
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * URL utility.
5
+ */
6
+ class XMLHttpRequestURLUtility {
7
+ /**
8
+ * Returns "true" if SSL.
9
+ *
10
+ * @param url URL.
11
+ * @returns "true" if SSL.
12
+ */
13
+ static isSSL(url) {
14
+ return url.protocol === 'https:';
15
+ }
16
+ /**
17
+ * Returns "true" if SSL.
18
+ *
19
+ * @param url URL.
20
+ * @returns "true" if SSL.
21
+ */
22
+ static isLocal(url) {
23
+ return url.protocol === 'file:';
24
+ }
25
+ /**
26
+ * Returns "true" if protocol is valid.
27
+ *
28
+ * @param url URL.
29
+ * @returns "true" if valid.
30
+ */
31
+ static isSupportedProtocol(url) {
32
+ switch (url.protocol) {
33
+ case 'https:':
34
+ case 'http:':
35
+ case 'file:':
36
+ case undefined:
37
+ case '':
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ /**
43
+ * Returns host.
44
+ *
45
+ * @param url URL.
46
+ * @returns Host.
47
+ */
48
+ static getHost(url) {
49
+ switch (url.protocol) {
50
+ case 'http:':
51
+ case 'https:':
52
+ return url.hostname;
53
+ case undefined:
54
+ case '':
55
+ return 'localhost';
56
+ default:
57
+ return null;
58
+ }
59
+ }
60
+ }
61
+ exports.default = XMLHttpRequestURLUtility;
62
+ //# sourceMappingURL=XMLHttpRequestURLUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLHttpRequestURLUtility.js","sourceRoot":"","sources":["../../../src/xml-http-request/utilities/XMLHttpRequestURLUtility.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,MAAqB,wBAAwB;IAC5C;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,GAAQ;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,GAAQ;QAC7B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,GAAQ;QACzC,QAAQ,GAAG,CAAC,QAAQ,EAAE;YACrB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACN,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,GAAQ;QAC7B,QAAQ,GAAG,CAAC,QAAQ,EAAE;YACrB,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACZ,OAAO,GAAG,CAAC,QAAQ,CAAC;YACrB,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACN,OAAO,WAAW,CAAC;YACpB;gBACC,OAAO,IAAI,CAAC;SACb;IACF,CAAC;CACD;AA1DD,2CA0DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "7.7.2",
3
+ "version": "7.8.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^27.1.3",
76
76
  "typescript": "^4.6.2"
77
77
  },
78
- "gitHead": "093d64988c193f17a4fde5fb039ee88c8f2adaa0"
78
+ "gitHead": "75d996d3778531592ea945c2d245b25ad0e87190"
79
79
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export default class AsyncTaskManager {
5
5
  private static taskID = 0;
6
- private runningTasks: number[] = [];
6
+ private runningTasks: { [k: string]: () => void } = {};
7
7
  private runningTimers: NodeJS.Timeout[] = [];
8
8
  private queue: { resolve: () => void; reject: (error: Error) => void }[] = [];
9
9
 
@@ -24,21 +24,27 @@ export default class AsyncTaskManager {
24
24
  }
25
25
 
26
26
  /**
27
- * Cancels all tasks.
27
+ * Ends all tasks.
28
28
  *
29
29
  * @param [error] Error.
30
30
  */
31
31
  public cancelAll(error?: Error): void {
32
- for (const timerID of this.runningTimers) {
33
- global.clearTimeout(timerID);
34
- }
35
-
32
+ const runningTimers = this.runningTimers;
33
+ const runningTasks = this.runningTasks;
36
34
  const promises = this.queue;
37
35
 
38
- this.runningTasks = [];
36
+ this.runningTasks = {};
39
37
  this.runningTimers = [];
40
38
  this.queue = [];
41
39
 
40
+ for (const timer of runningTimers) {
41
+ global.clearTimeout(timer);
42
+ }
43
+
44
+ for (const key of Object.keys(runningTasks)) {
45
+ runningTasks[key]();
46
+ }
47
+
42
48
  for (const promise of promises) {
43
49
  if (error) {
44
50
  promise.reject(error);
@@ -67,7 +73,7 @@ export default class AsyncTaskManager {
67
73
  if (index !== -1) {
68
74
  this.runningTimers.splice(index, 1);
69
75
  }
70
- if (!this.runningTasks.length && !this.runningTimers.length) {
76
+ if (!Object.keys(this.runningTasks).length && !this.runningTimers.length) {
71
77
  this.cancelAll();
72
78
  }
73
79
  }
@@ -75,11 +81,12 @@ export default class AsyncTaskManager {
75
81
  /**
76
82
  * Starts an async task.
77
83
  *
84
+ * @param abortHandler Abort handler.
78
85
  * @returns Task ID.
79
86
  */
80
- public startTask(): number {
87
+ public startTask(abortHandler?: () => void): number {
81
88
  const taskID = this.newTaskID();
82
- this.runningTasks.push(taskID);
89
+ this.runningTasks[taskID] = abortHandler ? abortHandler : () => {};
83
90
  return taskID;
84
91
  }
85
92
 
@@ -89,12 +96,12 @@ export default class AsyncTaskManager {
89
96
  * @param taskID Task ID.
90
97
  */
91
98
  public endTask(taskID: number): void {
92
- const index = this.runningTasks.indexOf(taskID);
93
- if (index !== -1) {
94
- this.runningTasks.splice(index, 1);
95
- }
96
- if (!this.runningTasks.length && !this.runningTimers.length) {
97
- this.cancelAll();
99
+ if (this.runningTasks[taskID]) {
100
+ delete this.runningTasks[taskID];
101
+
102
+ if (!Object.keys(this.runningTasks).length && !this.runningTimers.length) {
103
+ this.cancelAll();
104
+ }
98
105
  }
99
106
  }
100
107
 
@@ -104,16 +111,7 @@ export default class AsyncTaskManager {
104
111
  * @returns Count.
105
112
  */
106
113
  public getTaskCount(): number {
107
- return this.runningTasks.length;
108
- }
109
-
110
- /**
111
- * Returns the amount of running timers.
112
- *
113
- * @returns Count.
114
- */
115
- public getTimerCount(): number {
116
- return this.runningTimers.length;
114
+ return Object.keys(this.runningTasks).length;
117
115
  }
118
116
 
119
117
  /**
@@ -7,7 +7,7 @@ export default interface IEventListener {
7
7
  /**
8
8
  * Handles event.
9
9
  *
10
- * @param type Event type.
10
+ * @param event Event.
11
11
  */
12
12
  handleEvent(event: Event): void;
13
13
  }
@@ -8,6 +8,9 @@ enum DOMExceptionNameEnum {
8
8
  invalidNodeTypeError = 'InvalidNodeTypeError',
9
9
  invalidCharacterError = 'InvalidCharacterError',
10
10
  notFoundError = 'NotFoundError',
11
- domException = 'DOMException'
11
+ securityError = 'SecurityError',
12
+ networkError = 'NetworkError',
13
+ domException = 'DOMException',
14
+ invalidAccessError = 'InvalidAccessError'
12
15
  }
13
16
  export default DOMExceptionNameEnum;
@@ -4,27 +4,63 @@ import IDocument from '../nodes/document/IDocument';
4
4
  import IResponse from './IResponse';
5
5
  import Response from './Response';
6
6
  import NodeFetch from 'node-fetch';
7
+ import Request from './Request';
8
+ import RequestInfo from './RequestInfo';
9
+ import { URL } from 'url';
7
10
 
8
11
  /**
9
12
  * Helper class for performing fetch.
10
13
  */
11
14
  export default class FetchHandler {
12
15
  /**
13
- * Returns resource data asynchonously.
16
+ * Returns resource data asynchronously.
14
17
  *
15
18
  * @param document Document.
16
19
  * @param url URL to resource.
17
20
  * @param [init] Init.
18
21
  * @returns Response.
19
22
  */
20
- public static fetch(document: IDocument, url: string, init?: IRequestInit): Promise<IResponse> {
21
- // We want to only load NodeFetch when it is needed to improve performance and not have direct dependencies to server side packages.
23
+ public static fetch(
24
+ document: IDocument,
25
+ url: RequestInfo,
26
+ init?: IRequestInit
27
+ ): Promise<IResponse> {
22
28
  const taskManager = document.defaultView.happyDOM.asyncTaskManager;
29
+ const requestInit = { ...init, headers: { ...init?.headers } };
30
+ const cookie = document.defaultView.document.cookie;
31
+ const referer = document.defaultView.location.origin;
32
+
33
+ requestInit.headers['user-agent'] = document.defaultView.navigator.userAgent;
34
+
35
+ // We need set referer to solve anti-hotlinking.
36
+ // And the browser will set the referer to the origin of the page.
37
+ // Referer is "null" when the URL is set to "about:blank".
38
+ // This is also how the browser behaves.
39
+ if (referer !== 'null') {
40
+ requestInit.headers['referer'] = referer;
41
+ }
42
+
43
+ if (cookie) {
44
+ requestInit.headers['set-cookie'] = cookie;
45
+ }
46
+
47
+ let request;
48
+
49
+ if (typeof url === 'string') {
50
+ request = new Request(RelativeURL.getAbsoluteURL(document.defaultView.location, url));
51
+ } else if (url instanceof URL) {
52
+ // URLs are always absolute, no need for getAbsoluteURL.
53
+ request = new Request(url);
54
+ } else {
55
+ request = new Request(RelativeURL.getAbsoluteURL(document.defaultView.location, url.url), {
56
+ ...url
57
+ });
58
+ }
23
59
 
24
60
  return new Promise((resolve, reject) => {
25
61
  const taskID = taskManager.startTask();
26
62
 
27
- NodeFetch(RelativeURL.getAbsoluteURL(document.defaultView.location, url), init)
63
+ NodeFetch(request, requestInit)
28
64
  .then((response) => {
29
65
  if (taskManager.getTaskCount() === 0) {
30
66
  reject(new Error('Failed to complete fetch request. Task was canceled.'));
@@ -0,0 +1,6 @@
1
+ import { URL } from 'url';
2
+ import IRequest from './IRequest';
3
+
4
+ type RequestInfo = IRequest | string | URL;
5
+
6
+ export default RequestInfo;