@xyo-network/bridge-http 2.111.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index-browser.d.ts +105 -3
- package/dist/browser/index-browser.mjs.map +1 -1
- package/dist/neutral/index-browser.d.ts +105 -3
- package/dist/neutral/index-browser.mjs.map +1 -1
- package/dist/node/index.d.ts +128 -3
- package/dist/node/index.mjs +55 -85
- package/dist/node/index.mjs.map +1 -1
- package/package.json +32 -41
- package/src/HttpBridgeBase.ts +2 -1
- package/src/HttpBridgeClientOnly.ts +0 -1
- package/src/HttpBridgeFull.ts +0 -1
- package/dist/browser/HttpBridgeBase.d.cts +0 -45
- package/dist/browser/HttpBridgeBase.d.cts.map +0 -1
- package/dist/browser/HttpBridgeBase.d.mts +0 -45
- package/dist/browser/HttpBridgeBase.d.mts.map +0 -1
- package/dist/browser/HttpBridgeBase.d.ts +0 -45
- package/dist/browser/HttpBridgeBase.d.ts.map +0 -1
- package/dist/browser/HttpBridgeClientOnly.d.cts +0 -9
- package/dist/browser/HttpBridgeClientOnly.d.cts.map +0 -1
- package/dist/browser/HttpBridgeClientOnly.d.mts +0 -9
- package/dist/browser/HttpBridgeClientOnly.d.mts.map +0 -1
- package/dist/browser/HttpBridgeClientOnly.d.ts +0 -9
- package/dist/browser/HttpBridgeClientOnly.d.ts.map +0 -1
- package/dist/browser/HttpBridgeConfig.d.cts +0 -19
- package/dist/browser/HttpBridgeConfig.d.cts.map +0 -1
- package/dist/browser/HttpBridgeConfig.d.mts +0 -19
- package/dist/browser/HttpBridgeConfig.d.mts.map +0 -1
- package/dist/browser/HttpBridgeConfig.d.ts +0 -19
- package/dist/browser/HttpBridgeConfig.d.ts.map +0 -1
- package/dist/browser/HttpBridgeFull.d.cts +0 -35
- package/dist/browser/HttpBridgeFull.d.cts.map +0 -1
- package/dist/browser/HttpBridgeFull.d.mts +0 -35
- package/dist/browser/HttpBridgeFull.d.mts.map +0 -1
- package/dist/browser/HttpBridgeFull.d.ts +0 -35
- package/dist/browser/HttpBridgeFull.d.ts.map +0 -1
- package/dist/browser/HttpBridgeModuleResolver.d.cts +0 -32
- package/dist/browser/HttpBridgeModuleResolver.d.cts.map +0 -1
- package/dist/browser/HttpBridgeModuleResolver.d.mts +0 -32
- package/dist/browser/HttpBridgeModuleResolver.d.mts.map +0 -1
- package/dist/browser/HttpBridgeModuleResolver.d.ts +0 -32
- package/dist/browser/HttpBridgeModuleResolver.d.ts.map +0 -1
- package/dist/browser/ModuleProxy/ModuleProxy.d.cts +0 -27
- package/dist/browser/ModuleProxy/ModuleProxy.d.cts.map +0 -1
- package/dist/browser/ModuleProxy/ModuleProxy.d.mts +0 -27
- package/dist/browser/ModuleProxy/ModuleProxy.d.mts.map +0 -1
- package/dist/browser/ModuleProxy/ModuleProxy.d.ts +0 -27
- package/dist/browser/ModuleProxy/ModuleProxy.d.ts.map +0 -1
- package/dist/browser/ModuleProxy/index.d.cts +0 -2
- package/dist/browser/ModuleProxy/index.d.cts.map +0 -1
- package/dist/browser/ModuleProxy/index.d.mts +0 -2
- package/dist/browser/ModuleProxy/index.d.mts.map +0 -1
- package/dist/browser/ModuleProxy/index.d.ts +0 -2
- package/dist/browser/ModuleProxy/index.d.ts.map +0 -1
- package/dist/browser/index-browser.cjs +0 -416
- package/dist/browser/index-browser.cjs.map +0 -1
- package/dist/browser/index-browser.d.cts +0 -3
- package/dist/browser/index-browser.d.cts.map +0 -1
- package/dist/browser/index-browser.d.mts +0 -3
- package/dist/browser/index-browser.d.mts.map +0 -1
- package/dist/browser/index-browser.d.ts.map +0 -1
- package/dist/browser/index.d.cts +0 -3
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -3
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts +0 -3
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/neutral/HttpBridgeBase.d.cts +0 -45
- package/dist/neutral/HttpBridgeBase.d.cts.map +0 -1
- package/dist/neutral/HttpBridgeBase.d.mts +0 -45
- package/dist/neutral/HttpBridgeBase.d.mts.map +0 -1
- package/dist/neutral/HttpBridgeBase.d.ts +0 -45
- package/dist/neutral/HttpBridgeBase.d.ts.map +0 -1
- package/dist/neutral/HttpBridgeClientOnly.d.cts +0 -9
- package/dist/neutral/HttpBridgeClientOnly.d.cts.map +0 -1
- package/dist/neutral/HttpBridgeClientOnly.d.mts +0 -9
- package/dist/neutral/HttpBridgeClientOnly.d.mts.map +0 -1
- package/dist/neutral/HttpBridgeClientOnly.d.ts +0 -9
- package/dist/neutral/HttpBridgeClientOnly.d.ts.map +0 -1
- package/dist/neutral/HttpBridgeConfig.d.cts +0 -19
- package/dist/neutral/HttpBridgeConfig.d.cts.map +0 -1
- package/dist/neutral/HttpBridgeConfig.d.mts +0 -19
- package/dist/neutral/HttpBridgeConfig.d.mts.map +0 -1
- package/dist/neutral/HttpBridgeConfig.d.ts +0 -19
- package/dist/neutral/HttpBridgeConfig.d.ts.map +0 -1
- package/dist/neutral/HttpBridgeFull.d.cts +0 -35
- package/dist/neutral/HttpBridgeFull.d.cts.map +0 -1
- package/dist/neutral/HttpBridgeFull.d.mts +0 -35
- package/dist/neutral/HttpBridgeFull.d.mts.map +0 -1
- package/dist/neutral/HttpBridgeFull.d.ts +0 -35
- package/dist/neutral/HttpBridgeFull.d.ts.map +0 -1
- package/dist/neutral/HttpBridgeModuleResolver.d.cts +0 -32
- package/dist/neutral/HttpBridgeModuleResolver.d.cts.map +0 -1
- package/dist/neutral/HttpBridgeModuleResolver.d.mts +0 -32
- package/dist/neutral/HttpBridgeModuleResolver.d.mts.map +0 -1
- package/dist/neutral/HttpBridgeModuleResolver.d.ts +0 -32
- package/dist/neutral/HttpBridgeModuleResolver.d.ts.map +0 -1
- package/dist/neutral/ModuleProxy/ModuleProxy.d.cts +0 -27
- package/dist/neutral/ModuleProxy/ModuleProxy.d.cts.map +0 -1
- package/dist/neutral/ModuleProxy/ModuleProxy.d.mts +0 -27
- package/dist/neutral/ModuleProxy/ModuleProxy.d.mts.map +0 -1
- package/dist/neutral/ModuleProxy/ModuleProxy.d.ts +0 -27
- package/dist/neutral/ModuleProxy/ModuleProxy.d.ts.map +0 -1
- package/dist/neutral/ModuleProxy/index.d.cts +0 -2
- package/dist/neutral/ModuleProxy/index.d.cts.map +0 -1
- package/dist/neutral/ModuleProxy/index.d.mts +0 -2
- package/dist/neutral/ModuleProxy/index.d.mts.map +0 -1
- package/dist/neutral/ModuleProxy/index.d.ts +0 -2
- package/dist/neutral/ModuleProxy/index.d.ts.map +0 -1
- package/dist/neutral/index-browser.cjs +0 -416
- package/dist/neutral/index-browser.cjs.map +0 -1
- package/dist/neutral/index-browser.d.cts +0 -3
- package/dist/neutral/index-browser.d.cts.map +0 -1
- package/dist/neutral/index-browser.d.mts +0 -3
- package/dist/neutral/index-browser.d.mts.map +0 -1
- package/dist/neutral/index-browser.d.ts.map +0 -1
- package/dist/neutral/index.d.cts +0 -3
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -3
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts +0 -3
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/node/HttpBridgeBase.d.cts +0 -45
- package/dist/node/HttpBridgeBase.d.cts.map +0 -1
- package/dist/node/HttpBridgeBase.d.mts +0 -45
- package/dist/node/HttpBridgeBase.d.mts.map +0 -1
- package/dist/node/HttpBridgeBase.d.ts +0 -45
- package/dist/node/HttpBridgeBase.d.ts.map +0 -1
- package/dist/node/HttpBridgeClientOnly.d.cts +0 -9
- package/dist/node/HttpBridgeClientOnly.d.cts.map +0 -1
- package/dist/node/HttpBridgeClientOnly.d.mts +0 -9
- package/dist/node/HttpBridgeClientOnly.d.mts.map +0 -1
- package/dist/node/HttpBridgeClientOnly.d.ts +0 -9
- package/dist/node/HttpBridgeClientOnly.d.ts.map +0 -1
- package/dist/node/HttpBridgeConfig.d.cts +0 -19
- package/dist/node/HttpBridgeConfig.d.cts.map +0 -1
- package/dist/node/HttpBridgeConfig.d.mts +0 -19
- package/dist/node/HttpBridgeConfig.d.mts.map +0 -1
- package/dist/node/HttpBridgeConfig.d.ts +0 -19
- package/dist/node/HttpBridgeConfig.d.ts.map +0 -1
- package/dist/node/HttpBridgeFull.d.cts +0 -35
- package/dist/node/HttpBridgeFull.d.cts.map +0 -1
- package/dist/node/HttpBridgeFull.d.mts +0 -35
- package/dist/node/HttpBridgeFull.d.mts.map +0 -1
- package/dist/node/HttpBridgeFull.d.ts +0 -35
- package/dist/node/HttpBridgeFull.d.ts.map +0 -1
- package/dist/node/HttpBridgeModuleResolver.d.cts +0 -32
- package/dist/node/HttpBridgeModuleResolver.d.cts.map +0 -1
- package/dist/node/HttpBridgeModuleResolver.d.mts +0 -32
- package/dist/node/HttpBridgeModuleResolver.d.mts.map +0 -1
- package/dist/node/HttpBridgeModuleResolver.d.ts +0 -32
- package/dist/node/HttpBridgeModuleResolver.d.ts.map +0 -1
- package/dist/node/ModuleProxy/ModuleProxy.d.cts +0 -27
- package/dist/node/ModuleProxy/ModuleProxy.d.cts.map +0 -1
- package/dist/node/ModuleProxy/ModuleProxy.d.mts +0 -27
- package/dist/node/ModuleProxy/ModuleProxy.d.mts.map +0 -1
- package/dist/node/ModuleProxy/ModuleProxy.d.ts +0 -27
- package/dist/node/ModuleProxy/ModuleProxy.d.ts.map +0 -1
- package/dist/node/ModuleProxy/index.d.cts +0 -2
- package/dist/node/ModuleProxy/index.d.cts.map +0 -1
- package/dist/node/ModuleProxy/index.d.mts +0 -2
- package/dist/node/ModuleProxy/index.d.mts.map +0 -1
- package/dist/node/ModuleProxy/index.d.ts +0 -2
- package/dist/node/ModuleProxy/index.d.ts.map +0 -1
- package/dist/node/index-browser.d.cts +0 -3
- package/dist/node/index-browser.d.cts.map +0 -1
- package/dist/node/index-browser.d.mts +0 -3
- package/dist/node/index-browser.d.mts.map +0 -1
- package/dist/node/index-browser.d.ts +0 -3
- package/dist/node/index-browser.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -631
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -3
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -3
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts.map +0 -1
package/dist/node/index.cjs
DELETED
|
@@ -1,631 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __reflectGet = Reflect.get;
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
|
-
var __export = (target, all) => {
|
|
12
|
-
for (var name in all)
|
|
13
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
-
};
|
|
15
|
-
var __copyProps = (to, from, except, desc) => {
|
|
16
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
-
for (let key of __getOwnPropNames(from))
|
|
18
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
19
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
20
|
-
}
|
|
21
|
-
return to;
|
|
22
|
-
};
|
|
23
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
-
mod
|
|
30
|
-
));
|
|
31
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
33
|
-
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
34
|
-
|
|
35
|
-
// src/index.ts
|
|
36
|
-
var src_exports = {};
|
|
37
|
-
__export(src_exports, {
|
|
38
|
-
HttpBridge: () => HttpBridge,
|
|
39
|
-
HttpBridgeConfigSchema: () => HttpBridgeConfigSchema
|
|
40
|
-
});
|
|
41
|
-
module.exports = __toCommonJS(src_exports);
|
|
42
|
-
|
|
43
|
-
// src/HttpBridgeConfig.ts
|
|
44
|
-
var HttpBridgeConfigSchema = "network.xyo.bridge.http.config";
|
|
45
|
-
|
|
46
|
-
// src/HttpBridgeFull.ts
|
|
47
|
-
var import_assert4 = require("@xylabs/assert");
|
|
48
|
-
var import_exists3 = require("@xylabs/exists");
|
|
49
|
-
var import_object2 = require("@xylabs/object");
|
|
50
|
-
var import_sdk_api_express_ecs = require("@xylabs/sdk-api-express-ecs");
|
|
51
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
52
|
-
var import_module_model4 = require("@xyo-network/module-model");
|
|
53
|
-
var import_express = __toESM(require("express"), 1);
|
|
54
|
-
var import_http_status_codes = require("http-status-codes");
|
|
55
|
-
|
|
56
|
-
// src/HttpBridgeBase.ts
|
|
57
|
-
var import_assert3 = require("@xylabs/assert");
|
|
58
|
-
var import_axios = require("@xylabs/axios");
|
|
59
|
-
var import_exists2 = require("@xylabs/exists");
|
|
60
|
-
var import_forget2 = require("@xylabs/forget");
|
|
61
|
-
var import_object = require("@xylabs/object");
|
|
62
|
-
var import_bridge_abstract3 = require("@xyo-network/bridge-abstract");
|
|
63
|
-
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
64
|
-
var import_module_model3 = require("@xyo-network/module-model");
|
|
65
|
-
var import_node_model = require("@xyo-network/node-model");
|
|
66
|
-
var import_payload_model = require("@xyo-network/payload-model");
|
|
67
|
-
var import_async_mutex2 = require("async-mutex");
|
|
68
|
-
var import_lru_cache2 = require("lru-cache");
|
|
69
|
-
|
|
70
|
-
// src/HttpBridgeModuleResolver.ts
|
|
71
|
-
var import_assert2 = require("@xylabs/assert");
|
|
72
|
-
var import_hex2 = require("@xylabs/hex");
|
|
73
|
-
var import_account = require("@xyo-network/account");
|
|
74
|
-
var import_bridge_abstract2 = require("@xyo-network/bridge-abstract");
|
|
75
|
-
var import_config_payload_plugin = require("@xyo-network/config-payload-plugin");
|
|
76
|
-
var import_module_model2 = require("@xyo-network/module-model");
|
|
77
|
-
var import_async_mutex = require("async-mutex");
|
|
78
|
-
var import_lru_cache = require("lru-cache");
|
|
79
|
-
|
|
80
|
-
// src/ModuleProxy/ModuleProxy.ts
|
|
81
|
-
var import_assert = require("@xylabs/assert");
|
|
82
|
-
var import_exists = require("@xylabs/exists");
|
|
83
|
-
var import_forget = require("@xylabs/forget");
|
|
84
|
-
var import_hex = require("@xylabs/hex");
|
|
85
|
-
var import_bridge_abstract = require("@xyo-network/bridge-abstract");
|
|
86
|
-
var import_module_model = require("@xyo-network/module-model");
|
|
87
|
-
var _HttpModuleProxy = class _HttpModuleProxy extends import_bridge_abstract.AbstractModuleProxy {
|
|
88
|
-
constructor(params) {
|
|
89
|
-
_HttpModuleProxy.createCount = _HttpModuleProxy.createCount + 1;
|
|
90
|
-
super(params);
|
|
91
|
-
if (Math.floor(_HttpModuleProxy.createCount / 10) === _HttpModuleProxy.createCount / 10) {
|
|
92
|
-
console.log(`HttpModuleProxy.createCount: ${_HttpModuleProxy.createCount}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async proxyQueryHandler(query, payloads = []) {
|
|
96
|
-
if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {
|
|
97
|
-
(0, import_forget.forget)(this.storeToArchivists([
|
|
98
|
-
query,
|
|
99
|
-
...payloads ?? []
|
|
100
|
-
]));
|
|
101
|
-
}
|
|
102
|
-
const result = await this.params.querySender.sendBridgeQuery(this.params.moduleAddress, query, payloads);
|
|
103
|
-
if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {
|
|
104
|
-
(0, import_forget.forget)(this.storeToArchivists(result.flat()));
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
async publicChildren() {
|
|
109
|
-
return (await Promise.all(Object.values(await this.childAddressMap()).filter(import_exists.exists).map((address) => this.resolve(address)))).filter(import_exists.exists);
|
|
110
|
-
}
|
|
111
|
-
async resolve(idOrFilter = "*", options = {}) {
|
|
112
|
-
const config = {
|
|
113
|
-
address: this.address,
|
|
114
|
-
dead: this.dead,
|
|
115
|
-
downResolver: this.downResolver,
|
|
116
|
-
logger: this.logger,
|
|
117
|
-
mod: this,
|
|
118
|
-
transformers: this.moduleIdentifierTransformers,
|
|
119
|
-
upResolver: this.upResolver
|
|
120
|
-
};
|
|
121
|
-
if (idOrFilter === "*") {
|
|
122
|
-
return [
|
|
123
|
-
...await this.publicChildren(),
|
|
124
|
-
await this.params.host.resolve(this.address)
|
|
125
|
-
];
|
|
126
|
-
}
|
|
127
|
-
switch (typeof idOrFilter) {
|
|
128
|
-
case "string": {
|
|
129
|
-
const parts = idOrFilter.split(":");
|
|
130
|
-
const first = (0, import_assert.assertEx)(parts.shift(), () => "Missing first");
|
|
131
|
-
const remainingPath = parts.join(":");
|
|
132
|
-
const address = (0, import_hex.isAddress)(first) ? first : this.id === first ? this.address : this.childAddressByName(first);
|
|
133
|
-
if (!address) return void 0;
|
|
134
|
-
const firstInstance = await this.params.host.resolve(address);
|
|
135
|
-
return remainingPath ? await (firstInstance == null ? void 0 : firstInstance.resolve(remainingPath)) : firstInstance;
|
|
136
|
-
}
|
|
137
|
-
case "object": {
|
|
138
|
-
return (await import_module_model.ResolveHelper.resolve(config, idOrFilter, options)).filter((mod) => mod.address !== this.address);
|
|
139
|
-
}
|
|
140
|
-
default: {
|
|
141
|
-
return (await import_module_model.ResolveHelper.resolve(config, idOrFilter, options)).filter((mod) => mod.address !== this.address);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
__name(_HttpModuleProxy, "HttpModuleProxy");
|
|
147
|
-
__publicField(_HttpModuleProxy, "createCount", 0);
|
|
148
|
-
var HttpModuleProxy = _HttpModuleProxy;
|
|
149
|
-
|
|
150
|
-
// src/HttpBridgeModuleResolver.ts
|
|
151
|
-
var NotFoundModule = {
|
|
152
|
-
notFound: true
|
|
153
|
-
};
|
|
154
|
-
var _HttpBridgeModuleResolver = class _HttpBridgeModuleResolver extends import_bridge_abstract2.AbstractBridgeModuleResolver {
|
|
155
|
-
_resolvedCache = new import_lru_cache.LRUCache({
|
|
156
|
-
max: 1e3
|
|
157
|
-
});
|
|
158
|
-
_resolvedCacheMutex = new import_async_mutex.Mutex();
|
|
159
|
-
get querySender() {
|
|
160
|
-
return this.params.querySender;
|
|
161
|
-
}
|
|
162
|
-
moduleUrl(address) {
|
|
163
|
-
return new URL(address, this.params.rootUrl);
|
|
164
|
-
}
|
|
165
|
-
async resolveHandler(id, options, params) {
|
|
166
|
-
const parentResult = await super.resolveHandler(id, options);
|
|
167
|
-
if (parentResult.length > 0) {
|
|
168
|
-
return parentResult;
|
|
169
|
-
}
|
|
170
|
-
const idParts = id.split(":");
|
|
171
|
-
const untransformedFirstPart = (0, import_assert2.assertEx)(idParts.shift(), () => "Missing module identifier");
|
|
172
|
-
const firstPart = await import_module_model2.ResolveHelper.transformModuleIdentifier(untransformedFirstPart);
|
|
173
|
-
(0, import_assert2.assertEx)((0, import_hex2.isAddress)(firstPart), () => `Invalid module address: ${firstPart}`);
|
|
174
|
-
const remainderParts = idParts.join(":");
|
|
175
|
-
const instance = await this._resolvedCacheMutex.runExclusive(async () => {
|
|
176
|
-
var _a, _b, _c, _d, _e;
|
|
177
|
-
const cachedMod = this._resolvedCache.get(firstPart);
|
|
178
|
-
if (cachedMod) {
|
|
179
|
-
if ((0, import_module_model2.isModuleInstance)(cachedMod)) {
|
|
180
|
-
const result2 = idParts.length <= 0 ? cachedMod : cachedMod.resolve(remainderParts, {
|
|
181
|
-
...options,
|
|
182
|
-
maxDepth: ((options == null ? void 0 : options.maxDepth) ?? 5) - 1
|
|
183
|
-
});
|
|
184
|
-
return result2;
|
|
185
|
-
} else {
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
const account = await import_account.Account.random();
|
|
190
|
-
const finalParams = {
|
|
191
|
-
account,
|
|
192
|
-
archiving: this.params.archiving,
|
|
193
|
-
config: {
|
|
194
|
-
schema: import_module_model2.ModuleConfigSchema
|
|
195
|
-
},
|
|
196
|
-
host: this,
|
|
197
|
-
moduleAddress: firstPart,
|
|
198
|
-
onQuerySendFinished: this.params.onQuerySendFinished,
|
|
199
|
-
onQuerySendStarted: this.params.onQuerySendStarted,
|
|
200
|
-
querySender: this.params.querySender,
|
|
201
|
-
...params
|
|
202
|
-
};
|
|
203
|
-
(_a = this.logger) == null ? void 0 : _a.debug(`creating HttpProxy [${firstPart}] ${id}`);
|
|
204
|
-
const proxy = new HttpModuleProxy(finalParams);
|
|
205
|
-
let state;
|
|
206
|
-
try {
|
|
207
|
-
state = await proxy.state();
|
|
208
|
-
} catch (ex) {
|
|
209
|
-
const error = ex;
|
|
210
|
-
(_b = this.logger) == null ? void 0 : _b.log(error.message);
|
|
211
|
-
}
|
|
212
|
-
if (!state) {
|
|
213
|
-
this._resolvedCache.set(firstPart, NotFoundModule);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
const configSchema = (_c = state.find((payload) => payload.schema === import_config_payload_plugin.ConfigSchema)) == null ? void 0 : _c.config;
|
|
217
|
-
const config = (0, import_assert2.assertEx)(state.find((payload) => payload.schema === configSchema), () => "Unable to locate config");
|
|
218
|
-
proxy.setConfig(config);
|
|
219
|
-
(_d = this.logger) == null ? void 0 : _d.log(`created HttpProxy [${firstPart}] ${proxy.id}`);
|
|
220
|
-
await ((_e = proxy.start) == null ? void 0 : _e.call(proxy));
|
|
221
|
-
const wrapped = (0, import_bridge_abstract2.wrapModuleWithType)(proxy, account);
|
|
222
|
-
(0, import_assert2.assertEx)((0, import_module_model2.asModuleInstance)(wrapped, {}), () => `Failed to asModuleInstance [${id}]`);
|
|
223
|
-
this._resolvedCache.set(wrapped.address, wrapped);
|
|
224
|
-
return wrapped;
|
|
225
|
-
});
|
|
226
|
-
const result = remainderParts.length > 0 ? await (instance == null ? void 0 : instance.resolve(remainderParts, options)) : instance;
|
|
227
|
-
return result ? [
|
|
228
|
-
result
|
|
229
|
-
] : [];
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
__name(_HttpBridgeModuleResolver, "HttpBridgeModuleResolver");
|
|
233
|
-
var HttpBridgeModuleResolver = _HttpBridgeModuleResolver;
|
|
234
|
-
|
|
235
|
-
// src/HttpBridgeBase.ts
|
|
236
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
237
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
238
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
239
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
240
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
241
|
-
}
|
|
242
|
-
__name(_ts_decorate, "_ts_decorate");
|
|
243
|
-
var _HttpBridgeBase = class _HttpBridgeBase extends import_bridge_abstract3.AbstractBridge {
|
|
244
|
-
_axios;
|
|
245
|
-
_discoverRootsMutex = new import_async_mutex2.Mutex();
|
|
246
|
-
_failureTimeCache = new import_lru_cache2.LRUCache({
|
|
247
|
-
max: _HttpBridgeBase.maxFailureCacheSize
|
|
248
|
-
});
|
|
249
|
-
_querySemaphore;
|
|
250
|
-
_resolver;
|
|
251
|
-
get axios() {
|
|
252
|
-
this._axios = this._axios ?? this.params.axios ?? _HttpBridgeBase.axios;
|
|
253
|
-
return this._axios;
|
|
254
|
-
}
|
|
255
|
-
get clientUrl() {
|
|
256
|
-
var _a;
|
|
257
|
-
return (0, import_assert3.assertEx)(((_a = this.config.client) == null ? void 0 : _a.url) ?? this.config.nodeUrl, () => "No Url Set");
|
|
258
|
-
}
|
|
259
|
-
get failureRetryTime() {
|
|
260
|
-
return this.config.failureRetryTime ?? _HttpBridgeBase.defaultFailureRetryTime;
|
|
261
|
-
}
|
|
262
|
-
get maxConnections() {
|
|
263
|
-
return this.config.maxConnections ?? _HttpBridgeBase.defaultMaxConnections;
|
|
264
|
-
}
|
|
265
|
-
get maxPayloadSizeWarning() {
|
|
266
|
-
return this.config.maxPayloadSizeWarning ?? _HttpBridgeBase.defaultMaxPayloadSizeWarning;
|
|
267
|
-
}
|
|
268
|
-
get querySemaphore() {
|
|
269
|
-
this._querySemaphore = this._querySemaphore ?? new import_async_mutex2.Semaphore(this.maxConnections);
|
|
270
|
-
return this._querySemaphore;
|
|
271
|
-
}
|
|
272
|
-
get resolver() {
|
|
273
|
-
this._resolver = this._resolver ?? new HttpBridgeModuleResolver({
|
|
274
|
-
additionalSigners: this.additionalSigners,
|
|
275
|
-
archiving: {
|
|
276
|
-
...this.archiving,
|
|
277
|
-
resolveArchivists: this.resolveArchivingArchivists.bind(this)
|
|
278
|
-
},
|
|
279
|
-
bridge: this,
|
|
280
|
-
onQuerySendFinished: /* @__PURE__ */ __name((args) => {
|
|
281
|
-
(0, import_forget2.forget)(this.emit("querySendFinished", {
|
|
282
|
-
mod: this,
|
|
283
|
-
...args
|
|
284
|
-
}));
|
|
285
|
-
}, "onQuerySendFinished"),
|
|
286
|
-
onQuerySendStarted: /* @__PURE__ */ __name((args) => {
|
|
287
|
-
(0, import_forget2.forget)(this.emit("querySendStarted", {
|
|
288
|
-
mod: this,
|
|
289
|
-
...args
|
|
290
|
-
}));
|
|
291
|
-
}, "onQuerySendStarted"),
|
|
292
|
-
querySender: this,
|
|
293
|
-
root: this,
|
|
294
|
-
rootUrl: this.clientUrl,
|
|
295
|
-
wrapperAccount: this.account
|
|
296
|
-
});
|
|
297
|
-
return this._resolver;
|
|
298
|
-
}
|
|
299
|
-
exposeHandler(_id, _options) {
|
|
300
|
-
throw new Error("Unsupported");
|
|
301
|
-
}
|
|
302
|
-
exposedHandler() {
|
|
303
|
-
throw new Error("Unsupported");
|
|
304
|
-
}
|
|
305
|
-
async getRoots(force) {
|
|
306
|
-
return await this._discoverRootsMutex.runExclusive(async () => {
|
|
307
|
-
var _a, _b;
|
|
308
|
-
if (this._roots === void 0 || force) {
|
|
309
|
-
const state = await this.getRootState();
|
|
310
|
-
(_a = this.logger) == null ? void 0 : _a.debug(`HttpBridge:discoverRoots.state [${state == null ? void 0 : state.length}]`);
|
|
311
|
-
const nodeManifest = state == null ? void 0 : state.find((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
|
|
312
|
-
if (nodeManifest) {
|
|
313
|
-
const mods = (await this.resolveRootNode(nodeManifest)).filter(import_exists2.exists);
|
|
314
|
-
(_b = this.logger) == null ? void 0 : _b.debug(`HttpBridge:discoverRoots [${mods.length}]`);
|
|
315
|
-
this._roots = mods;
|
|
316
|
-
} else {
|
|
317
|
-
this._roots = [];
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
return this._roots;
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
moduleUrl(address) {
|
|
324
|
-
return new URL(address, this.clientUrl);
|
|
325
|
-
}
|
|
326
|
-
async sendBridgeQuery(targetAddress, query, payloads) {
|
|
327
|
-
var _a, _b, _c, _d;
|
|
328
|
-
const lastFailureTime = this._failureTimeCache.get(targetAddress);
|
|
329
|
-
if (lastFailureTime !== void 0) {
|
|
330
|
-
const now = Date.now();
|
|
331
|
-
const timeSincePreviousFailure = now - lastFailureTime;
|
|
332
|
-
if (timeSincePreviousFailure > this.failureRetryTime) {
|
|
333
|
-
throw new Error(`target module failed recently [${targetAddress}] [${timeSincePreviousFailure}ms ago]`);
|
|
334
|
-
}
|
|
335
|
-
this._failureTimeCache.delete(targetAddress);
|
|
336
|
-
}
|
|
337
|
-
try {
|
|
338
|
-
await this.querySemaphore.acquire();
|
|
339
|
-
const payloadSize = JSON.stringify([
|
|
340
|
-
query,
|
|
341
|
-
payloads
|
|
342
|
-
]).length;
|
|
343
|
-
if (payloadSize > this.maxPayloadSizeWarning) {
|
|
344
|
-
(_a = this.logger) == null ? void 0 : _a.warn(`Large targetQuery being sent: ${payloadSize} bytes [${this.address}][${this.moduleAddress}] [${query.schema}] [${payloads == null ? void 0 : payloads.length}]`);
|
|
345
|
-
}
|
|
346
|
-
const moduleUrl = this.moduleUrl(targetAddress).href;
|
|
347
|
-
const result = await this.axios.post(moduleUrl, [
|
|
348
|
-
query,
|
|
349
|
-
payloads
|
|
350
|
-
]);
|
|
351
|
-
if (result.status === 404) {
|
|
352
|
-
throw `target module not found [${moduleUrl}] [${result.status}]`;
|
|
353
|
-
}
|
|
354
|
-
if (result.status >= 400) {
|
|
355
|
-
(_b = this.logger) == null ? void 0 : _b.error(`targetQuery failed [${moduleUrl}]`);
|
|
356
|
-
throw `targetQuery failed [${moduleUrl}] [${result.status}]`;
|
|
357
|
-
}
|
|
358
|
-
return (_c = result.data) == null ? void 0 : _c.data;
|
|
359
|
-
} catch (ex) {
|
|
360
|
-
const error = ex;
|
|
361
|
-
(_d = this.logger) == null ? void 0 : _d.error(`Error: ${(0, import_object.toJsonString)(error)}`);
|
|
362
|
-
throw error;
|
|
363
|
-
} finally {
|
|
364
|
-
this.querySemaphore.release();
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
unexposeHandler(_id, _options) {
|
|
368
|
-
throw new Error("Unsupported");
|
|
369
|
-
}
|
|
370
|
-
async getRootState() {
|
|
371
|
-
var _a;
|
|
372
|
-
const queryPayload = {
|
|
373
|
-
schema: import_module_model3.ModuleStateQuerySchema
|
|
374
|
-
};
|
|
375
|
-
const boundQuery = await this.bindQuery(queryPayload);
|
|
376
|
-
try {
|
|
377
|
-
const response = await this.axios.post(this.clientUrl.toString(), boundQuery);
|
|
378
|
-
if (response.status === 404) {
|
|
379
|
-
return [];
|
|
380
|
-
}
|
|
381
|
-
const [, payloads, errors] = response.data.data;
|
|
382
|
-
if (errors.length > 0) {
|
|
383
|
-
throw new Error(`getRootState failed: ${JSON.stringify(errors, null, 2)}`);
|
|
384
|
-
}
|
|
385
|
-
return payloads;
|
|
386
|
-
} catch (ex) {
|
|
387
|
-
const error = ex;
|
|
388
|
-
(_a = this.logger) == null ? void 0 : _a.warn(`Unable to connect to remote node: ${error.message} [${this.clientUrl}]`);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
async resolveRootNode(nodeManifest) {
|
|
392
|
-
var _a;
|
|
393
|
-
const rootModule = (0, import_assert3.assertEx)((await this.resolver.resolveHandler((0, import_assert3.assertEx)((_a = nodeManifest.status) == null ? void 0 : _a.address, () => "Root has no address"), void 0, {
|
|
394
|
-
manifest: nodeManifest
|
|
395
|
-
})).at(0), () => {
|
|
396
|
-
var _a2;
|
|
397
|
-
return `Root not found [${(_a2 = nodeManifest.status) == null ? void 0 : _a2.address}]`;
|
|
398
|
-
});
|
|
399
|
-
(0, import_assert3.assertEx)(rootModule.constructor.name !== "HttpModuleProxy", () => "rootModule is not a Wrapper");
|
|
400
|
-
const rootNode = (0, import_node_model.asAttachableNodeInstance)(rootModule, "Root modules is not a node");
|
|
401
|
-
if (rootNode) {
|
|
402
|
-
this.logger.debug(`rootNode: ${rootNode.id}`);
|
|
403
|
-
this.downResolver.addResolver(rootNode);
|
|
404
|
-
return [
|
|
405
|
-
rootNode
|
|
406
|
-
];
|
|
407
|
-
}
|
|
408
|
-
return [];
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
__name(_HttpBridgeBase, "HttpBridgeBase");
|
|
412
|
-
__publicField(_HttpBridgeBase, "axios", new import_axios.AxiosJson());
|
|
413
|
-
__publicField(_HttpBridgeBase, "configSchemas", [
|
|
414
|
-
...__superGet(_HttpBridgeBase, _HttpBridgeBase, "configSchemas"),
|
|
415
|
-
HttpBridgeConfigSchema
|
|
416
|
-
]);
|
|
417
|
-
__publicField(_HttpBridgeBase, "defaultConfigSchema", HttpBridgeConfigSchema);
|
|
418
|
-
__publicField(_HttpBridgeBase, "defaultFailureRetryTime", 1e3 * 60);
|
|
419
|
-
__publicField(_HttpBridgeBase, "defaultMaxConnections", 4);
|
|
420
|
-
__publicField(_HttpBridgeBase, "defaultMaxPayloadSizeWarning", 256 * 256);
|
|
421
|
-
__publicField(_HttpBridgeBase, "maxFailureCacheSize", 1e3);
|
|
422
|
-
var HttpBridgeBase = _HttpBridgeBase;
|
|
423
|
-
HttpBridgeBase = _ts_decorate([
|
|
424
|
-
(0, import_module_model3.creatableModule)()
|
|
425
|
-
], HttpBridgeBase);
|
|
426
|
-
|
|
427
|
-
// src/HttpBridgeFull.ts
|
|
428
|
-
function _ts_decorate2(decorators, target, key, desc) {
|
|
429
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
430
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
431
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
432
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
433
|
-
}
|
|
434
|
-
__name(_ts_decorate2, "_ts_decorate");
|
|
435
|
-
var _HttpBridge = class _HttpBridge extends HttpBridgeBase {
|
|
436
|
-
_app;
|
|
437
|
-
_exposedModules = [];
|
|
438
|
-
_server;
|
|
439
|
-
get app() {
|
|
440
|
-
if (!this._app) this._app = this.initializeApp();
|
|
441
|
-
return (0, import_assert4.assertEx)(this._app, () => "App not initialized");
|
|
442
|
-
}
|
|
443
|
-
async exposeChild(mod, options) {
|
|
444
|
-
var _a, _b;
|
|
445
|
-
const { maxDepth = 5 } = options ?? {};
|
|
446
|
-
(0, import_assert4.assertEx)(this.config.host, () => "Not configured as a host");
|
|
447
|
-
this._exposedModules.push(new WeakRef(mod));
|
|
448
|
-
const children = maxDepth > 0 ? await ((_a = mod.publicChildren) == null ? void 0 : _a.call(mod)) ?? [] : [];
|
|
449
|
-
this.logger.log(`childrenToExpose [${mod.id}][${mod.address}]: ${(0, import_object2.toJsonString)(children.map((child) => child.id))}`);
|
|
450
|
-
const exposedChildren = (await Promise.all(children.map((child) => this.exposeChild(child, {
|
|
451
|
-
maxDepth: maxDepth - 1,
|
|
452
|
-
required: false
|
|
453
|
-
})))).flat().filter(import_exists3.exists);
|
|
454
|
-
const allExposed = [
|
|
455
|
-
mod,
|
|
456
|
-
...exposedChildren
|
|
457
|
-
];
|
|
458
|
-
for (const exposedMod of allExposed) (_b = this.logger) == null ? void 0 : _b.log(`exposed: ${exposedMod.address} [${mod.id}]`);
|
|
459
|
-
return allExposed;
|
|
460
|
-
}
|
|
461
|
-
async exposeHandler(address, options) {
|
|
462
|
-
const { required = true } = options ?? {};
|
|
463
|
-
const mod = await (0, import_module_model4.resolveAddressToInstanceUp)(this, address);
|
|
464
|
-
if (required && !mod) {
|
|
465
|
-
throw new Error(`Unable to find required module: ${address}`);
|
|
466
|
-
}
|
|
467
|
-
if (mod) {
|
|
468
|
-
return this.exposeChild(mod, options);
|
|
469
|
-
}
|
|
470
|
-
return [];
|
|
471
|
-
}
|
|
472
|
-
exposedHandler() {
|
|
473
|
-
return this._exposedModules.map((ref) => {
|
|
474
|
-
var _a;
|
|
475
|
-
return (_a = ref.deref()) == null ? void 0 : _a.address;
|
|
476
|
-
}).filter(import_exists3.exists);
|
|
477
|
-
}
|
|
478
|
-
async startHandler() {
|
|
479
|
-
return await super.startHandler() && await this.startHttpServer();
|
|
480
|
-
}
|
|
481
|
-
async stopHandler(_timeout) {
|
|
482
|
-
return await super.stopHandler() && await this.stopHttpServer();
|
|
483
|
-
}
|
|
484
|
-
async unexposeHandler(address, options) {
|
|
485
|
-
var _a, _b;
|
|
486
|
-
const { maxDepth = 2, required = true } = options ?? {};
|
|
487
|
-
(0, import_assert4.assertEx)(this.config.host, () => "Not configured as a host");
|
|
488
|
-
const mod = (_a = this._exposedModules.find((ref) => {
|
|
489
|
-
var _a2;
|
|
490
|
-
return ((_a2 = ref.deref()) == null ? void 0 : _a2.address) === address;
|
|
491
|
-
})) == null ? void 0 : _a.deref();
|
|
492
|
-
(0, import_assert4.assertEx)(!required || mod, () => `Module not exposed: ${address}`);
|
|
493
|
-
this._exposedModules = this._exposedModules.filter((ref) => {
|
|
494
|
-
var _a2;
|
|
495
|
-
return ((_a2 = ref.deref()) == null ? void 0 : _a2.address) !== address;
|
|
496
|
-
});
|
|
497
|
-
if (mod) {
|
|
498
|
-
const children = maxDepth > 0 ? await ((_b = mod.publicChildren) == null ? void 0 : _b.call(mod)) ?? [] : [];
|
|
499
|
-
const exposedChildren = (await Promise.all(children.map((child) => this.unexposeHandler(child.address, {
|
|
500
|
-
maxDepth: maxDepth - 1,
|
|
501
|
-
required: false
|
|
502
|
-
})))).flat().filter(import_exists3.exists);
|
|
503
|
-
return [
|
|
504
|
-
mod,
|
|
505
|
-
...exposedChildren
|
|
506
|
-
];
|
|
507
|
-
}
|
|
508
|
-
return [];
|
|
509
|
-
}
|
|
510
|
-
async callLocalModule(address, query, payloads) {
|
|
511
|
-
var _a;
|
|
512
|
-
const mod = (_a = this._exposedModules.find((ref) => {
|
|
513
|
-
var _a2;
|
|
514
|
-
return ((_a2 = ref.deref()) == null ? void 0 : _a2.address) === address;
|
|
515
|
-
})) == null ? void 0 : _a.deref();
|
|
516
|
-
return mod ? await mod.query(query, payloads) : null;
|
|
517
|
-
}
|
|
518
|
-
async handleGet(req, res) {
|
|
519
|
-
var _a;
|
|
520
|
-
const { address } = req.params;
|
|
521
|
-
try {
|
|
522
|
-
if (address == this.address) {
|
|
523
|
-
res.json(await this.stateQuery(this.account));
|
|
524
|
-
} else {
|
|
525
|
-
const mod = (_a = this._exposedModules.find((ref) => {
|
|
526
|
-
var _a2;
|
|
527
|
-
return ((_a2 = ref.deref()) == null ? void 0 : _a2.address) === address;
|
|
528
|
-
})) == null ? void 0 : _a.deref();
|
|
529
|
-
if (mod) {
|
|
530
|
-
res.json(await mod.stateQuery(this.account));
|
|
531
|
-
} else {
|
|
532
|
-
res.status(import_http_status_codes.StatusCodes.NOT_FOUND).json({
|
|
533
|
-
error: "Module not found"
|
|
534
|
-
});
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
} catch (ex) {
|
|
538
|
-
res.status(import_http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
539
|
-
error: ex.message
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
async handlePost(req, res) {
|
|
544
|
-
const { address } = req.params;
|
|
545
|
-
const [bw, payloads = []] = Array.isArray(req.body) ? req.body : [];
|
|
546
|
-
const query = (0, import_boundwitness_model.isQueryBoundWitness)(bw) ? bw : void 0;
|
|
547
|
-
if (!query) {
|
|
548
|
-
res.status(import_http_status_codes.StatusCodes.BAD_REQUEST).json({
|
|
549
|
-
error: "No query provided"
|
|
550
|
-
});
|
|
551
|
-
return;
|
|
552
|
-
}
|
|
553
|
-
try {
|
|
554
|
-
if (address == this.address) {
|
|
555
|
-
const result = await this.query(query, payloads);
|
|
556
|
-
return res.json(result);
|
|
557
|
-
} else {
|
|
558
|
-
const result = await this.callLocalModule(address, query, payloads);
|
|
559
|
-
if (result === null) {
|
|
560
|
-
res.status(import_http_status_codes.StatusCodes.NOT_FOUND).json({
|
|
561
|
-
error: "Module not found"
|
|
562
|
-
});
|
|
563
|
-
} else {
|
|
564
|
-
res.json(result);
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
} catch (ex) {
|
|
568
|
-
res.status(import_http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
569
|
-
error: ex.message
|
|
570
|
-
});
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
initializeApp() {
|
|
574
|
-
const app = (0, import_express.default)();
|
|
575
|
-
app.use(import_sdk_api_express_ecs.responseProfiler);
|
|
576
|
-
app.use(import_sdk_api_express_ecs.jsonBodyParser);
|
|
577
|
-
(0, import_sdk_api_express_ecs.disableExpressDefaultPoweredByHeader)(app);
|
|
578
|
-
app.use(import_sdk_api_express_ecs.customPoweredByHeader);
|
|
579
|
-
(0, import_sdk_api_express_ecs.disableCaseSensitiveRouting)(app);
|
|
580
|
-
(0, import_sdk_api_express_ecs.useRequestCounters)(app);
|
|
581
|
-
app.get("/", (_req, res) => res.redirect(import_http_status_codes.StatusCodes.MOVED_TEMPORARILY, `/${this.address}`));
|
|
582
|
-
app.post("/", (_req, res) => res.redirect(import_http_status_codes.StatusCodes.TEMPORARY_REDIRECT, `/${this.address}`));
|
|
583
|
-
app.get(
|
|
584
|
-
"/:address",
|
|
585
|
-
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
586
|
-
(0, import_sdk_api_express_ecs.asyncHandler)(async (req, res) => await this.handleGet(req, res))
|
|
587
|
-
);
|
|
588
|
-
app.post(
|
|
589
|
-
"/:address",
|
|
590
|
-
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
591
|
-
(0, import_sdk_api_express_ecs.asyncHandler)(async (req, res) => await this.handlePost(req, res))
|
|
592
|
-
);
|
|
593
|
-
return app;
|
|
594
|
-
}
|
|
595
|
-
startHttpServer() {
|
|
596
|
-
var _a;
|
|
597
|
-
if (this.config.host) {
|
|
598
|
-
(0, import_assert4.assertEx)(!this._server, () => "Server already started");
|
|
599
|
-
this._server = this.app.listen(((_a = this.config.host) == null ? void 0 : _a.port) ?? 3030);
|
|
600
|
-
}
|
|
601
|
-
return Promise.resolve(true);
|
|
602
|
-
}
|
|
603
|
-
stopHttpServer() {
|
|
604
|
-
if (this.config.host) {
|
|
605
|
-
return new Promise((resolve, reject) => {
|
|
606
|
-
if (this._server) {
|
|
607
|
-
this._server.close((err) => {
|
|
608
|
-
if (err) {
|
|
609
|
-
reject(err);
|
|
610
|
-
} else {
|
|
611
|
-
this._server = void 0;
|
|
612
|
-
resolve(true);
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
}
|
|
616
|
-
});
|
|
617
|
-
}
|
|
618
|
-
return Promise.resolve(true);
|
|
619
|
-
}
|
|
620
|
-
};
|
|
621
|
-
__name(_HttpBridge, "HttpBridge");
|
|
622
|
-
var HttpBridge = _HttpBridge;
|
|
623
|
-
HttpBridge = _ts_decorate2([
|
|
624
|
-
(0, import_module_model4.creatableModule)()
|
|
625
|
-
], HttpBridge);
|
|
626
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
627
|
-
0 && (module.exports = {
|
|
628
|
-
HttpBridge,
|
|
629
|
-
HttpBridgeConfigSchema
|
|
630
|
-
});
|
|
631
|
-
//# sourceMappingURL=index.cjs.map
|