hyperttp 0.1.6 → 0.1.8
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/dist/Hyperttp/Core/HttpClientImproved.d.ts +14 -246
- package/dist/Hyperttp/Core/HttpClientImproved.d.ts.map +1 -1
- package/dist/Hyperttp/Core/HttpClientImproved.js +137 -112
- package/dist/Hyperttp/Core/HttpClientImproved.js.map +1 -1
- package/dist/Hyperttp/Core/QueueManager.d.ts.map +1 -1
- package/dist/Hyperttp/Core/QueueManager.js +0 -2
- package/dist/Hyperttp/Core/QueueManager.js.map +1 -1
- package/dist/Hyperttp/Core/index.d.ts +7 -7
- package/dist/Hyperttp/Core/index.d.ts.map +1 -1
- package/dist/Hyperttp/Core/index.js +8 -8
- package/dist/Hyperttp/Core/index.js.map +1 -1
- package/dist/Hyperttp/Request.d.ts.map +1 -1
- package/dist/Hyperttp/Request.js +0 -1
- package/dist/Hyperttp/Request.js.map +1 -1
- package/dist/Hyperttp/UrlExtractor.d.ts.map +1 -1
- package/dist/Hyperttp/UrlExtractor.js +0 -1
- package/dist/Hyperttp/UrlExtractor.js.map +1 -1
- package/dist/Hyperttp/index.d.ts +4 -4
- package/dist/Hyperttp/index.d.ts.map +1 -1
- package/dist/Hyperttp/index.js +11 -11
- package/dist/Hyperttp/index.js.map +1 -1
- package/dist/Types/index.d.ts +256 -0
- package/dist/Types/index.d.ts.map +1 -1
- package/dist/Types/index.js +47 -0
- package/dist/Types/index.js.map +1 -1
- package/dist/Types/request.d.ts +16 -16
- package/dist/Types/request.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -18,12 +18,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.RateLimiter = exports.CacheManager = exports.QueueManager = exports.HttpClientImproved = void 0;
|
|
21
|
-
var
|
|
22
|
-
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return __importDefault(
|
|
23
|
-
var
|
|
24
|
-
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return
|
|
25
|
-
var
|
|
26
|
-
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return
|
|
21
|
+
var HttpClientImproved_js_1 = require("./HttpClientImproved.js");
|
|
22
|
+
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return __importDefault(HttpClientImproved_js_1).default; } });
|
|
23
|
+
var QueueManager_js_1 = require("./QueueManager.js");
|
|
24
|
+
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return QueueManager_js_1.QueueManager; } });
|
|
25
|
+
var CacheManager_js_1 = require("./CacheManager.js");
|
|
26
|
+
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return CacheManager_js_1.CacheManager; } });
|
|
27
|
+
var RateLimiter_js_1 = require("./RateLimiter.js");
|
|
28
|
+
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return RateLimiter_js_1.RateLimiter; } });
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;AAEH,iEAAwE;AAA/D,4IAAA,OAAO,OAAsB;AACtC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/Request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,gBAAgB;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,aAAa;IAUjC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,IAAI,cAAc;IAI5B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKzC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKzC,QAAQ,IAAI,YAAY;IAIxB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKnC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKnC,gBAAgB,IAAI,MAAM;IAU1B,WAAW,IAAI,eAAe;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK5C,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK5C,MAAM,IAAI,MAAM;IAMhB,MAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/Request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,gBAAgB;IACtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,aAAa;IAUjC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,IAAI,cAAc;IAI5B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKzC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKzC,QAAQ,IAAI,YAAY;IAIxB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKnC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKnC,gBAAgB,IAAI,MAAM;IAU1B,WAAW,IAAI,eAAe;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK5C,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK5C,MAAM,IAAI,MAAM;IAMhB,MAAM,IAAI,MAAM;CAQjB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,MAAM;IAgB3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,IAAI,cAAc;IAG5B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIzC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIzC,QAAQ,IAAI,YAAY;IAGxB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAInC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAInC,gBAAgB,IAAI,MAAM;IAG1B,WAAW,IAAI,eAAe;IAG9B,iBAAiB,IAAI,MAAM;IAG3B,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C,MAAM,IAAI,MAAM;IAGhB,MAAM,IAAI,MAAM;CAGjB"}
|
package/dist/Hyperttp/Request.js
CHANGED
|
@@ -136,7 +136,6 @@ class Request {
|
|
|
136
136
|
return `${this.scheme}://${this.host}${portPart}${path}`;
|
|
137
137
|
}
|
|
138
138
|
getURL() {
|
|
139
|
-
// Используем URL + searchParams для надёжной сборки
|
|
140
139
|
const base = new URL(this.getURI());
|
|
141
140
|
for (const [key, value] of Object.entries(this.query)) {
|
|
142
141
|
if (value === undefined || value === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/Hyperttp/Request.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/Hyperttp/Request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAS3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAqB,OAAO;IAClB,MAAM,CAAS;IACf,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAS;IACb,OAAO,CAAiB;IACxB,KAAK,CAAe;IACpB,QAAQ,CAAkB;IAElC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YACpD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YACpD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAxGD,0BAwGC;AAED;;;;;;;;;;;GAWG;AACH,MAAa,eAAe;IAClB,OAAO,CAAU;IAEzB,YAAY,OAAe;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAkB;YAC5B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACrC,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACZ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ;oBACzB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;YAC9C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SACtD,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IACD,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACD,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IACD,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;CACF;AAxED,0CAwEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlExtractor.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/UrlExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE;IAIzD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,UAAO,GACjB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UrlExtractor.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/UrlExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE;IAIzD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,UAAO,GACjB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;CA+BrB"}
|
|
@@ -106,7 +106,6 @@ class UrlExtractor {
|
|
|
106
106
|
const result = {};
|
|
107
107
|
for (const key in extracted) {
|
|
108
108
|
const value = extracted[key];
|
|
109
|
-
// Если ожидаем число и включен castNumbers, конвертируем
|
|
110
109
|
if (castNumbers && !isNaN(Number(value))) {
|
|
111
110
|
result[key] = Number(value);
|
|
112
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlExtractor.js","sourceRoot":"","sources":["../../src/Hyperttp/UrlExtractor.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAqB,YAAY;IACvB,QAAQ,GAAiC,EAAE,CAAC;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,QAAgB,EAAE,QAAsB;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CACnB,GAAW,EACX,OAAsB;QAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;QAErE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBACR,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,OAAO,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAuB,CACxB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CACP,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,WAAW,GAAG,IAAI;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,MAAM;YACnB,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,kBAAkB,QAAQ,GAAG,CACnE,CAAC;QAEJ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAwB,EAAE,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC7B,
|
|
1
|
+
{"version":3,"file":"UrlExtractor.js","sourceRoot":"","sources":["../../src/Hyperttp/UrlExtractor.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAqB,YAAY;IACvB,QAAQ,GAAiC,EAAE,CAAC;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,QAAgB,EAAE,QAAsB;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CACnB,GAAW,EACX,OAAsB;QAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;QAErE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBACR,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,OAAO,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAuB,CACxB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CACP,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,WAAW,GAAG,IAAI;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,MAAM;YACnB,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,kBAAkB,QAAQ,GAAG,CACnE,CAAC;QAEJ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAEnD,MAAM,MAAM,GAAwB,EAAE,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;gBAED,OAAO,MAA2B,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,sBAAsB,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF;AA3GD,+BA2GC"}
|
package/dist/Hyperttp/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { HttpClientImproved, QueueManager, CacheManager, RateLimiter, } from "./Core";
|
|
2
|
-
export { default as Request } from "./Request";
|
|
3
|
-
export { PreparedRequest } from "./Request";
|
|
4
|
-
export { default as UrlExtractor } from "./UrlExtractor";
|
|
1
|
+
export { HttpClientImproved, QueueManager, CacheManager, RateLimiter, } from "./Core/index.js";
|
|
2
|
+
export { default as Request } from "./Request.js";
|
|
3
|
+
export { PreparedRequest } from "./Request.js";
|
|
4
|
+
export { default as UrlExtractor } from "./UrlExtractor.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Hyperttp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/Hyperttp/index.js
CHANGED
|
@@ -4,15 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.UrlExtractor = exports.PreparedRequest = exports.Request = exports.RateLimiter = exports.CacheManager = exports.QueueManager = exports.HttpClientImproved = void 0;
|
|
7
|
-
var
|
|
8
|
-
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return
|
|
9
|
-
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return
|
|
10
|
-
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return
|
|
11
|
-
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return
|
|
12
|
-
var
|
|
13
|
-
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return __importDefault(
|
|
14
|
-
var
|
|
15
|
-
Object.defineProperty(exports, "PreparedRequest", { enumerable: true, get: function () { return
|
|
16
|
-
var
|
|
17
|
-
Object.defineProperty(exports, "UrlExtractor", { enumerable: true, get: function () { return __importDefault(
|
|
7
|
+
var index_js_1 = require("./Core/index.js");
|
|
8
|
+
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return index_js_1.HttpClientImproved; } });
|
|
9
|
+
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return index_js_1.QueueManager; } });
|
|
10
|
+
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return index_js_1.CacheManager; } });
|
|
11
|
+
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return index_js_1.RateLimiter; } });
|
|
12
|
+
var Request_js_1 = require("./Request.js");
|
|
13
|
+
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return __importDefault(Request_js_1).default; } });
|
|
14
|
+
var Request_js_2 = require("./Request.js");
|
|
15
|
+
Object.defineProperty(exports, "PreparedRequest", { enumerable: true, get: function () { return Request_js_2.PreparedRequest; } });
|
|
16
|
+
var UrlExtractor_js_1 = require("./UrlExtractor.js");
|
|
17
|
+
Object.defineProperty(exports, "UrlExtractor", { enumerable: true, get: function () { return __importDefault(UrlExtractor_js_1).default; } });
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Hyperttp/index.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Hyperttp/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAKyB;AAJvB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,uGAAA,WAAW,OAAA;AAEb,2CAAkD;AAAzC,sHAAA,OAAO,OAAW;AAC3B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,qDAA4D;AAAnD,gIAAA,OAAO,OAAgB"}
|
package/dist/Types/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { RateLimiterConfig } from "../Hyperttp/Core";
|
|
2
|
+
import { ResponseType } from "./request";
|
|
1
3
|
/**
|
|
2
4
|
* Interface for a universal URL extractor
|
|
3
5
|
*/
|
|
@@ -28,5 +30,259 @@ export interface UrlPattern<T extends string = string> {
|
|
|
28
30
|
/** Names of the capturing groups to extract */
|
|
29
31
|
groupNames: T[];
|
|
30
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Base error class for HTTP client operations.
|
|
35
|
+
* Contains additional context about the failed request including status code, URL, and method.
|
|
36
|
+
*/
|
|
37
|
+
export declare class HttpClientError extends Error {
|
|
38
|
+
statusCode?: number | undefined;
|
|
39
|
+
originalError?: Error | undefined;
|
|
40
|
+
url?: string | undefined;
|
|
41
|
+
method?: string | undefined;
|
|
42
|
+
constructor(message: string, statusCode?: number | undefined, originalError?: Error | undefined, url?: string | undefined, method?: string | undefined);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Error thrown when an HTTP request exceeds the configured timeout duration.
|
|
46
|
+
* Contains information about the URL and timeout value that caused the failure.
|
|
47
|
+
*/
|
|
48
|
+
export declare class TimeoutError extends HttpClientError {
|
|
49
|
+
constructor(url: string, timeout: number);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Error thrown when an HTTP request is rate limited by the server.
|
|
53
|
+
* Contains information about the URL and optional retry-after duration.
|
|
54
|
+
*/
|
|
55
|
+
export declare class RateLimitError extends HttpClientError {
|
|
56
|
+
retryAfter?: number | undefined;
|
|
57
|
+
constructor(url: string, retryAfter?: number | undefined);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Log level for HTTP client logging.
|
|
61
|
+
* Defines the verbosity of log output from the client.
|
|
62
|
+
*/
|
|
63
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
64
|
+
/**
|
|
65
|
+
* Function type for logging HTTP client events.
|
|
66
|
+
* Used to customize how the client logs various events like requests, responses, and errors.
|
|
67
|
+
*
|
|
68
|
+
* @param level - The severity level of the log message
|
|
69
|
+
* @param message - The log message content
|
|
70
|
+
* @param meta - Optional additional context or metadata
|
|
71
|
+
*/
|
|
72
|
+
export type LoggerFunction = (level: LogLevel, message: string, meta?: any) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Configuration options for HTTP request retry behavior.
|
|
75
|
+
* Defines how the client should handle failed requests and when to retry them.
|
|
76
|
+
*/
|
|
77
|
+
export interface RetryOptions {
|
|
78
|
+
/** Maximum number of retry attempts before giving up */
|
|
79
|
+
maxRetries: number;
|
|
80
|
+
/** Base delay in milliseconds between retry attempts (exponential backoff) */
|
|
81
|
+
baseDelay: number;
|
|
82
|
+
/** Maximum delay in milliseconds between retry attempts */
|
|
83
|
+
maxDelay: number;
|
|
84
|
+
/** HTTP status codes that should trigger a retry */
|
|
85
|
+
retryStatusCodes: number[];
|
|
86
|
+
/** Whether to add random jitter to retry delays to prevent thundering herd */
|
|
87
|
+
jitter: boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Function type for intercepting and modifying HTTP requests before they are sent.
|
|
91
|
+
* Request interceptors can modify the URL, method, headers, or body of outgoing requests.
|
|
92
|
+
*
|
|
93
|
+
* @param config - The request configuration object
|
|
94
|
+
* @returns A promise that resolves to the modified request configuration
|
|
95
|
+
*/
|
|
96
|
+
export type RequestInterceptor = (config: {
|
|
97
|
+
url: string;
|
|
98
|
+
method: string;
|
|
99
|
+
headers: Record<string, string>;
|
|
100
|
+
body?: string | Buffer;
|
|
101
|
+
}) => Promise<{
|
|
102
|
+
url: string;
|
|
103
|
+
method: string;
|
|
104
|
+
headers: Record<string, string>;
|
|
105
|
+
body?: string | Buffer;
|
|
106
|
+
}>;
|
|
107
|
+
/**
|
|
108
|
+
* Function type for intercepting and modifying HTTP responses before they are processed.
|
|
109
|
+
* Response interceptors can modify the status, headers, body, or URL of incoming responses.
|
|
110
|
+
*
|
|
111
|
+
* @param response - The response object containing status, headers, body, and URL
|
|
112
|
+
* @returns A promise that resolves to the modified response object
|
|
113
|
+
*/
|
|
114
|
+
export type ResponseInterceptor = (response: {
|
|
115
|
+
status: number;
|
|
116
|
+
headers: Record<string, any>;
|
|
117
|
+
body: Buffer;
|
|
118
|
+
url: string;
|
|
119
|
+
}) => Promise<{
|
|
120
|
+
status: number;
|
|
121
|
+
headers: Record<string, any>;
|
|
122
|
+
body: Buffer;
|
|
123
|
+
url: string;
|
|
124
|
+
}>;
|
|
125
|
+
/**
|
|
126
|
+
* Configuration options for the HttpClientImproved instance.
|
|
127
|
+
* Defines all the behavior settings for HTTP requests including timeouts, retries, caching, and more.
|
|
128
|
+
*/
|
|
129
|
+
export interface HttpClientOptions {
|
|
130
|
+
/** Request timeout in milliseconds (default: 15000) */
|
|
131
|
+
timeout?: number;
|
|
132
|
+
/** Maximum number of concurrent requests (default: 50) */
|
|
133
|
+
maxConcurrent?: number;
|
|
134
|
+
/** Maximum number of retry attempts for failed requests (default: 3) */
|
|
135
|
+
maxRetries?: number;
|
|
136
|
+
/** Cache time-to-live in milliseconds (default: 300000) */
|
|
137
|
+
cacheTTL?: number;
|
|
138
|
+
/** Maximum number of cached entries (default: 500) */
|
|
139
|
+
cacheMaxSize?: number;
|
|
140
|
+
/** Rate limiting configuration to prevent overwhelming servers */
|
|
141
|
+
rateLimit?: RateLimiterConfig;
|
|
142
|
+
/** User-Agent string for HTTP requests (default: "Hyperttp/0.1.0 Node.js") */
|
|
143
|
+
userAgent?: string;
|
|
144
|
+
/** Custom logger function for HTTP client events */
|
|
145
|
+
logger?: LoggerFunction;
|
|
146
|
+
/** Retry behavior configuration */
|
|
147
|
+
retryOptions?: Partial<RetryOptions>;
|
|
148
|
+
/** Whether to automatically follow HTTP redirects (default: true) */
|
|
149
|
+
followRedirects?: boolean;
|
|
150
|
+
/** Maximum number of redirects to follow (default: 5) */
|
|
151
|
+
maxRedirects?: number;
|
|
152
|
+
/** Maximum response size in bytes (default: 1MB) */
|
|
153
|
+
maxResponseBytes?: number;
|
|
154
|
+
/** Function to validate HTTP status codes (default: 200-299) */
|
|
155
|
+
validateStatus?: (status: number) => boolean;
|
|
156
|
+
/** HTTP methods that should be cached (default: ["GET", "HEAD"]) */
|
|
157
|
+
cacheMethods?: string[];
|
|
158
|
+
/** Maximum number of request metrics to store (default: 10000) */
|
|
159
|
+
maxMetricsSize?: number;
|
|
160
|
+
/** Whether to enable verbose logging (default: false) */
|
|
161
|
+
verbose?: boolean;
|
|
162
|
+
/** Whether to enable request queuing (default: true) */
|
|
163
|
+
enableQueue?: boolean;
|
|
164
|
+
/** Whether to enable rate limiting (default: true) */
|
|
165
|
+
enableRateLimit?: boolean;
|
|
166
|
+
/** Whether to enable caching (default: true) */
|
|
167
|
+
enableCache?: boolean;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Interface for defining HTTP request parameters.
|
|
171
|
+
* Used to encapsulate URL, headers, and body data for HTTP requests.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* class ApiRequest implements RequestInterface {
|
|
176
|
+
* constructor(
|
|
177
|
+
* private url: string,
|
|
178
|
+
* private headers: Record<string, string> = {},
|
|
179
|
+
* private body?: any
|
|
180
|
+
* ) {}
|
|
181
|
+
*
|
|
182
|
+
* getURL(): string { return this.url; }
|
|
183
|
+
* getHeaders(): Record<string, string> { return this.headers; }
|
|
184
|
+
* getBodyData(): any { return this.body; }
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export interface RequestInterface {
|
|
189
|
+
/** Returns the full URL for the HTTP request */
|
|
190
|
+
getURL(): string;
|
|
191
|
+
/** Returns the request body data (string, Buffer, or any serializable object) */
|
|
192
|
+
getBodyData(): any;
|
|
193
|
+
/** Returns the HTTP headers for the request */
|
|
194
|
+
getHeaders(): Record<string, string>;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Interface defining the contract for HTTP client implementations.
|
|
198
|
+
* Provides methods for making HTTP requests with various HTTP methods.
|
|
199
|
+
*/
|
|
200
|
+
export interface HttpClientInterface {
|
|
201
|
+
/**
|
|
202
|
+
* Makes an HTTP GET request
|
|
203
|
+
* @param req - Request configuration or URL string
|
|
204
|
+
* @param responseType - Expected response type (default: "json")
|
|
205
|
+
* @returns Promise resolving to the response data
|
|
206
|
+
*/
|
|
207
|
+
get<T = any>(req: RequestInterface | string, responseType?: ResponseType): Promise<T>;
|
|
208
|
+
/**
|
|
209
|
+
* Makes an HTTP POST request
|
|
210
|
+
* @param req - Request configuration or URL string
|
|
211
|
+
* @param body - Request body data
|
|
212
|
+
* @param responseType - Expected response type (default: "json")
|
|
213
|
+
* @returns Promise resolving to the response data
|
|
214
|
+
*/
|
|
215
|
+
post<T = any>(req: RequestInterface | string, body?: any, responseType?: ResponseType): Promise<T>;
|
|
216
|
+
/**
|
|
217
|
+
* Makes an HTTP PUT request
|
|
218
|
+
* @param req - Request configuration or URL string
|
|
219
|
+
* @param body - Request body data
|
|
220
|
+
* @param responseType - Expected response type (default: "json")
|
|
221
|
+
* @returns Promise resolving to the response data
|
|
222
|
+
*/
|
|
223
|
+
put<T = any>(req: RequestInterface | string, body?: any, responseType?: ResponseType): Promise<T>;
|
|
224
|
+
stream(req: RequestInterface | string): Promise<StreamResponse>;
|
|
225
|
+
/**
|
|
226
|
+
* Makes an HTTP DELETE request
|
|
227
|
+
* @param req - Request configuration or URL string
|
|
228
|
+
* @param responseType - Expected response type (default: "json")
|
|
229
|
+
* @returns Promise resolving to the response data
|
|
230
|
+
*/
|
|
231
|
+
delete<T = any>(req: RequestInterface | string, responseType?: ResponseType): Promise<T>;
|
|
232
|
+
/**
|
|
233
|
+
* Makes an HTTP PATCH request
|
|
234
|
+
* @param req - Request configuration
|
|
235
|
+
* @param responseType - Expected response type (default: "json")
|
|
236
|
+
* @returns Promise resolving to the response data
|
|
237
|
+
*/
|
|
238
|
+
patch<T = any>(req: RequestInterface | string, responseType?: ResponseType): Promise<T>;
|
|
239
|
+
/**
|
|
240
|
+
* Makes an HTTP HEAD request
|
|
241
|
+
* @param req - Request configuration or URL string
|
|
242
|
+
* @returns Promise resolving to status and headers
|
|
243
|
+
*/
|
|
244
|
+
head(req: RequestInterface | string): Promise<{
|
|
245
|
+
status: number;
|
|
246
|
+
headers: Record<string, any>;
|
|
247
|
+
}>;
|
|
248
|
+
/**
|
|
249
|
+
* Clears the internal cache of the HTTP client
|
|
250
|
+
*/
|
|
251
|
+
clearCache(): void;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Metrics collected for HTTP requests to monitor performance and behavior.
|
|
255
|
+
* Contains timing information, response details, and caching information.
|
|
256
|
+
*/
|
|
257
|
+
export interface RequestMetrics {
|
|
258
|
+
/** Timestamp when the request started */
|
|
259
|
+
startTime: number;
|
|
260
|
+
/** Timestamp when the request completed */
|
|
261
|
+
endTime: number;
|
|
262
|
+
/** Total duration of the request in milliseconds */
|
|
263
|
+
duration: number;
|
|
264
|
+
/** HTTP status code of the response (if available) */
|
|
265
|
+
statusCode?: number;
|
|
266
|
+
/** Number of bytes received in the response */
|
|
267
|
+
bytesReceived: number;
|
|
268
|
+
/** Number of bytes sent in the request body */
|
|
269
|
+
bytesSent: number;
|
|
270
|
+
/** Number of retry attempts made for this request */
|
|
271
|
+
retries: number;
|
|
272
|
+
/** Whether the response was served from cache */
|
|
273
|
+
cached: boolean;
|
|
274
|
+
/** URL of the request */
|
|
275
|
+
url: string;
|
|
276
|
+
/** HTTP method used (GET, POST, etc.) */
|
|
277
|
+
method: string;
|
|
278
|
+
/** Hash of the request body for cache key generation */
|
|
279
|
+
bodyHash?: string;
|
|
280
|
+
}
|
|
281
|
+
export interface StreamResponse {
|
|
282
|
+
status: number;
|
|
283
|
+
headers: Record<string, any>;
|
|
284
|
+
body: AsyncIterable<Uint8Array>;
|
|
285
|
+
url: string;
|
|
286
|
+
}
|
|
31
287
|
export * from "./request";
|
|
32
288
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEjE;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACnD,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IAEf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,UAAU,EAAE,CAAC,EAAE,CAAC;CACjB;AAED,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/Types/index.js
CHANGED
|
@@ -14,5 +14,52 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.RateLimitError = exports.TimeoutError = exports.HttpClientError = void 0;
|
|
18
|
+
/**
|
|
19
|
+
* Base error class for HTTP client operations.
|
|
20
|
+
* Contains additional context about the failed request including status code, URL, and method.
|
|
21
|
+
*/
|
|
22
|
+
class HttpClientError extends Error {
|
|
23
|
+
statusCode;
|
|
24
|
+
originalError;
|
|
25
|
+
url;
|
|
26
|
+
method;
|
|
27
|
+
constructor(message, statusCode, originalError, url, method) {
|
|
28
|
+
super(message);
|
|
29
|
+
this.statusCode = statusCode;
|
|
30
|
+
this.originalError = originalError;
|
|
31
|
+
this.url = url;
|
|
32
|
+
this.method = method;
|
|
33
|
+
this.name = "HttpClientError";
|
|
34
|
+
Object.setPrototypeOf(this, HttpClientError.prototype);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.HttpClientError = HttpClientError;
|
|
38
|
+
/**
|
|
39
|
+
* Error thrown when an HTTP request exceeds the configured timeout duration.
|
|
40
|
+
* Contains information about the URL and timeout value that caused the failure.
|
|
41
|
+
*/
|
|
42
|
+
class TimeoutError extends HttpClientError {
|
|
43
|
+
constructor(url, timeout) {
|
|
44
|
+
super(`Request timeout after ${timeout}ms for ${url}`);
|
|
45
|
+
this.name = "TimeoutError";
|
|
46
|
+
Object.setPrototypeOf(this, TimeoutError.prototype);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TimeoutError = TimeoutError;
|
|
50
|
+
/**
|
|
51
|
+
* Error thrown when an HTTP request is rate limited by the server.
|
|
52
|
+
* Contains information about the URL and optional retry-after duration.
|
|
53
|
+
*/
|
|
54
|
+
class RateLimitError extends HttpClientError {
|
|
55
|
+
retryAfter;
|
|
56
|
+
constructor(url, retryAfter) {
|
|
57
|
+
super(`Rate limited for ${url}${retryAfter ? `, retry after ${retryAfter}ms` : ""}`);
|
|
58
|
+
this.retryAfter = retryAfter;
|
|
59
|
+
this.name = "RateLimitError";
|
|
60
|
+
Object.setPrototypeOf(this, RateLimitError.prototype);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.RateLimitError = RateLimitError;
|
|
17
64
|
__exportStar(require("./request"), exports);
|
|
18
65
|
//# sourceMappingURL=index.js.map
|
package/dist/Types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0CA;;;GAGG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAG/B;IACA;IACA;IACA;IALT,YACE,OAAe,EACR,UAAmB,EACnB,aAAqB,EACrB,GAAY,EACZ,MAAe;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QALR,eAAU,GAAV,UAAU,CAAS;QACnB,kBAAa,GAAb,aAAa,CAAQ;QACrB,QAAG,GAAH,GAAG,CAAS;QACZ,WAAM,GAAN,MAAM,CAAS;QAGtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAZD,0CAYC;AAED;;;GAGG;AACH,MAAa,YAAa,SAAQ,eAAe;IAC/C,YAAY,GAAW,EAAE,OAAe;QACtC,KAAK,CAAC,yBAAyB,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAND,oCAMC;AAED;;;GAGG;AACH,MAAa,cAAe,SAAQ,eAAe;IAGxC;IAFT,YACE,GAAW,EACJ,UAAmB;QAE1B,KAAK,CACH,oBAAoB,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9E,CAAC;QAJK,eAAU,GAAV,UAAU,CAAS;QAK1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AAXD,wCAWC;AA2QD,4CAA0B"}
|
package/dist/Types/request.d.ts
CHANGED
|
@@ -58,35 +58,35 @@ export type Response = ObjectResponse | StringResponse;
|
|
|
58
58
|
*/
|
|
59
59
|
export interface RequestInterface {
|
|
60
60
|
/** Set the request path */
|
|
61
|
-
setPath(path: string): RequestInterface;
|
|
61
|
+
setPath?(path: string): RequestInterface;
|
|
62
62
|
/** Set the host for the request */
|
|
63
|
-
setHost(host: string): RequestInterface;
|
|
63
|
+
setHost?(host: string): RequestInterface;
|
|
64
64
|
/** Get current request headers */
|
|
65
|
-
getHeaders(): RequestHeaders;
|
|
65
|
+
getHeaders?(): RequestHeaders;
|
|
66
66
|
/** Replace all headers */
|
|
67
|
-
setHeaders(headers: RequestHeaders): RequestInterface;
|
|
67
|
+
setHeaders?(headers: RequestHeaders): RequestInterface;
|
|
68
68
|
/** Add headers to the existing ones */
|
|
69
|
-
addHeaders(headers: RequestHeaders): RequestInterface;
|
|
69
|
+
addHeaders?(headers: RequestHeaders): RequestInterface;
|
|
70
70
|
/** Get current query parameters */
|
|
71
|
-
getQuery(): RequestQuery;
|
|
71
|
+
getQuery?(): RequestQuery;
|
|
72
72
|
/** Replace all query parameters */
|
|
73
|
-
setQuery(query: RequestQuery): RequestInterface;
|
|
73
|
+
setQuery?(query: RequestQuery): RequestInterface;
|
|
74
74
|
/** Add query parameters */
|
|
75
|
-
addQuery(query: RequestQuery): RequestInterface;
|
|
75
|
+
addQuery?(query: RequestQuery): RequestInterface;
|
|
76
76
|
/** Get query string representation */
|
|
77
|
-
getQueryAsString(): string;
|
|
77
|
+
getQueryAsString?(): string;
|
|
78
78
|
/** Get request body data */
|
|
79
|
-
getBodyData(): RequestBodyData;
|
|
79
|
+
getBodyData?(): RequestBodyData;
|
|
80
80
|
/** Get body data as string (e.g., for JSON or URL-encoded) */
|
|
81
|
-
getBodyDataString(): string;
|
|
81
|
+
getBodyDataString?(): string;
|
|
82
82
|
/** Replace body data */
|
|
83
|
-
setBodyData(bodyData: RequestBodyData): RequestInterface;
|
|
83
|
+
setBodyData?(bodyData: RequestBodyData): RequestInterface;
|
|
84
84
|
/** Add data to the existing body */
|
|
85
|
-
addBodyData(bodyData: RequestBodyData): RequestInterface;
|
|
85
|
+
addBodyData?(bodyData: RequestBodyData): RequestInterface;
|
|
86
86
|
/** Get URI (path + query) */
|
|
87
|
-
getURI(): string;
|
|
87
|
+
getURI?(): string;
|
|
88
88
|
/** Get full URL including scheme, host, port, path and query */
|
|
89
|
-
getURL(): string;
|
|
89
|
+
getURL?(): string;
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Interface for a HTTP client
|
|
@@ -132,5 +132,5 @@ export interface HttpClientOptions {
|
|
|
132
132
|
timeout?: number;
|
|
133
133
|
responseType?: ResponseType;
|
|
134
134
|
}
|
|
135
|
-
export type ResponseType = "json" | "text" | "buffer" | "xml";
|
|
135
|
+
export type ResponseType = "json" | "text" | "buffer" | "xml" | "stream";
|
|
136
136
|
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/Types/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB,gCAAgC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/Types/request.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { HttpClientImproved, QueueManager, CacheManager, RateLimiter, Request, PreparedRequest, UrlExtractor, } from "./Hyperttp";
|
|
2
|
-
export type * from "./Types";
|
|
1
|
+
export { HttpClientImproved, QueueManager, CacheManager, RateLimiter, Request, PreparedRequest, UrlExtractor, } from "./Hyperttp/index.js";
|
|
2
|
+
export type * from "./Types/index.js";
|
|
3
|
+
export type * from "./Types/request.js";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,EACf,YAAY,GACb,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UrlExtractor = exports.PreparedRequest = exports.Request = exports.RateLimiter = exports.CacheManager = exports.QueueManager = exports.HttpClientImproved = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return
|
|
6
|
-
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return
|
|
7
|
-
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return
|
|
8
|
-
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return
|
|
9
|
-
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return
|
|
10
|
-
Object.defineProperty(exports, "PreparedRequest", { enumerable: true, get: function () { return
|
|
11
|
-
Object.defineProperty(exports, "UrlExtractor", { enumerable: true, get: function () { return
|
|
4
|
+
var index_js_1 = require("./Hyperttp/index.js");
|
|
5
|
+
Object.defineProperty(exports, "HttpClientImproved", { enumerable: true, get: function () { return index_js_1.HttpClientImproved; } });
|
|
6
|
+
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return index_js_1.QueueManager; } });
|
|
7
|
+
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return index_js_1.CacheManager; } });
|
|
8
|
+
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return index_js_1.RateLimiter; } });
|
|
9
|
+
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return index_js_1.Request; } });
|
|
10
|
+
Object.defineProperty(exports, "PreparedRequest", { enumerable: true, get: function () { return index_js_1.PreparedRequest; } });
|
|
11
|
+
Object.defineProperty(exports, "UrlExtractor", { enumerable: true, get: function () { return index_js_1.UrlExtractor; } });
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,gDAQ6B;AAP3B,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,2GAAA,eAAe,OAAA;AACf,wGAAA,YAAY,OAAA"}
|