@gaias/basenode 1.0.70 → 1.0.72
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/libs/apisix/HttpPutter.d.ts.map +1 -1
- package/dist/libs/apisix/HttpPutter.js +14 -3
- package/dist/libs/apisix/HttpPutter.js.map +1 -1
- package/dist/libs/gateway/ApiGatewayLoader.d.ts.map +1 -1
- package/dist/libs/gateway/ApiGatewayLoader.js +29 -9
- package/dist/libs/gateway/ApiGatewayLoader.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpPutter.d.ts","sourceRoot":"","sources":["../../../../src/libs/apisix/HttpPutter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"HttpPutter.d.ts","sourceRoot":"","sources":["../../../../src/libs/apisix/HttpPutter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAmDD,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAiClE,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -9,6 +9,7 @@ const DEFAULT_CONFIG = {
|
|
|
9
9
|
DEFAULT_STATUS_CODE: 200,
|
|
10
10
|
DEFAULT_ERROR_STATUS_CODE: 500,
|
|
11
11
|
CONTENT_TYPE: 'application/json',
|
|
12
|
+
REQUEST_TIMEOUT: 5000,
|
|
12
13
|
};
|
|
13
14
|
function httpPut(optionsOrHostname, port, path, data, xApiKey, log) {
|
|
14
15
|
let options;
|
|
@@ -43,14 +44,24 @@ function httpPut(optionsOrHostname, port, path, data, xApiKey, log) {
|
|
|
43
44
|
statusCode = res.statusCode ?? DEFAULT_CONFIG.DEFAULT_ERROR_STATUS_CODE;
|
|
44
45
|
if (enableLog) {
|
|
45
46
|
console.log(`[HTTP PUT] ${requestPath} - Status: ${statusCode}`);
|
|
46
|
-
res.on('data', (chunk) => {
|
|
47
|
-
process.stdout.write(chunk);
|
|
48
|
-
});
|
|
49
47
|
}
|
|
48
|
+
res.on('data', (chunk) => {
|
|
49
|
+
if (enableLog) {
|
|
50
|
+
process.stdout.write(chunk);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
50
53
|
res.on('end', () => {
|
|
51
54
|
resolve(statusCode);
|
|
52
55
|
});
|
|
53
56
|
});
|
|
57
|
+
req.setTimeout(DEFAULT_CONFIG.REQUEST_TIMEOUT, () => {
|
|
58
|
+
req.destroy();
|
|
59
|
+
const timeoutError = new Error(`Request timeout after ${DEFAULT_CONFIG.REQUEST_TIMEOUT}ms: ${hostname}:${targetPort}${requestPath}`);
|
|
60
|
+
if (enableLog) {
|
|
61
|
+
console.error(`[HTTP PUT Timeout] ${requestPath}`);
|
|
62
|
+
}
|
|
63
|
+
reject(timeoutError);
|
|
64
|
+
});
|
|
54
65
|
req.on('error', (error) => {
|
|
55
66
|
if (enableLog) {
|
|
56
67
|
console.error(`[HTTP PUT Error] ${requestPath}:`, error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpPutter.js","sourceRoot":"","sources":["../../../../src/libs/apisix/HttpPutter.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"HttpPutter.js","sourceRoot":"","sources":["../../../../src/libs/apisix/HttpPutter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGatewayLoader.d.ts","sourceRoot":"","sources":["../../../../src/libs/gateway/ApiGatewayLoader.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAyBxD,MAAM,WAAW,sBAAsB;CAGtC;
|
|
1
|
+
{"version":3,"file":"ApiGatewayLoader.d.ts","sourceRoot":"","sources":["../../../../src/libs/gateway/ApiGatewayLoader.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAyBxD,MAAM,WAAW,sBAAsB;CAGtC;AA8UD,eAAO,MAAM,gBAAgB,GAAI,SAAS,sBAAsB,MAC9D,YAAY,sBAAsB,KACjC,OAAO,CAAC,IAAI,CAuEd,CAAC"}
|
|
@@ -51,38 +51,56 @@ const getApiGatewayConfig = (enableAuth) => {
|
|
|
51
51
|
enableAuth,
|
|
52
52
|
};
|
|
53
53
|
};
|
|
54
|
-
const registerUpstream = async (host, port, config) => {
|
|
54
|
+
const registerUpstream = async (host, port, config, logger) => {
|
|
55
55
|
const uri = (0, apisix_1.upstreamUriTemplate)(config.appName);
|
|
56
56
|
const data = (0, apisix_1.upstreamTemplate)(config.appName, config.apiVersion, config.appPort);
|
|
57
|
-
|
|
57
|
+
logger.info(`📝 Upstream URI: ${uri}`);
|
|
58
|
+
logger.info(`📝 Upstream config: ${data}`);
|
|
59
|
+
const statusCode = await (0, apisix_1.httpPut)({
|
|
58
60
|
hostname: host,
|
|
59
61
|
port,
|
|
60
62
|
path: uri,
|
|
61
63
|
data,
|
|
62
64
|
xApiKey: config.apiKey,
|
|
63
65
|
});
|
|
66
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
67
|
+
throw new Error(`Failed to register upstream: HTTP ${statusCode}`);
|
|
68
|
+
}
|
|
69
|
+
logger.info(`✅ Upstream registered successfully (HTTP ${statusCode})`);
|
|
64
70
|
};
|
|
65
|
-
const registerService = async (host, port, config) => {
|
|
71
|
+
const registerService = async (host, port, config, logger) => {
|
|
66
72
|
const uri = (0, apisix_1.serviceUriTemplate)(config.appName);
|
|
67
73
|
const data = (0, apisix_1.serviceTemplate)(config.appName, config.enableAuth);
|
|
68
|
-
|
|
74
|
+
logger.info(`📝 Service URI: ${uri}`);
|
|
75
|
+
logger.info(`📝 Service config: ${data}`);
|
|
76
|
+
const statusCode = await (0, apisix_1.httpPut)({
|
|
69
77
|
hostname: host,
|
|
70
78
|
port,
|
|
71
79
|
path: uri,
|
|
72
80
|
data,
|
|
73
81
|
xApiKey: config.apiKey,
|
|
74
82
|
});
|
|
83
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
84
|
+
throw new Error(`Failed to register service: HTTP ${statusCode}`);
|
|
85
|
+
}
|
|
86
|
+
logger.info(`✅ Service registered successfully (HTTP ${statusCode})`);
|
|
75
87
|
};
|
|
76
|
-
const registerRoute = async (host, port, config) => {
|
|
88
|
+
const registerRoute = async (host, port, config, logger) => {
|
|
77
89
|
const uri = (0, apisix_1.routeUriTemplate)(config.appName);
|
|
78
90
|
const data = (0, apisix_1.routeTemplate)(config.appName, config.domains, config.apiVersion, config.build, config.version);
|
|
79
|
-
|
|
91
|
+
logger.info(`📝 Route URI: ${uri}`);
|
|
92
|
+
logger.info(`📝 Route config: ${data}`);
|
|
93
|
+
const statusCode = await (0, apisix_1.httpPut)({
|
|
80
94
|
hostname: host,
|
|
81
95
|
port,
|
|
82
96
|
path: uri,
|
|
83
97
|
data,
|
|
84
98
|
xApiKey: config.apiKey,
|
|
85
99
|
});
|
|
100
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
101
|
+
throw new Error(`Failed to register route: HTTP ${statusCode}`);
|
|
102
|
+
}
|
|
103
|
+
logger.info(`✅ Route registered successfully (HTTP ${statusCode})`);
|
|
86
104
|
};
|
|
87
105
|
const apiGatewayLoader = (_option) => async (_settings) => {
|
|
88
106
|
const logger = logger_1.Logger.getLogger('ApiGatewayLoader');
|
|
@@ -110,13 +128,15 @@ const apiGatewayLoader = (_option) => async (_settings) => {
|
|
|
110
128
|
logger.info(`📝 Domains: ${config.domains.join(', ')}`);
|
|
111
129
|
logger.info(`📝 Auth Enabled: ${config.enableAuth}`);
|
|
112
130
|
logger.info('1️⃣ Registering upstream service...');
|
|
113
|
-
|
|
131
|
+
logger.info(`📝 APISIX host: ${host}`);
|
|
132
|
+
logger.info(`📝 APISIX port: ${port}`);
|
|
133
|
+
await registerUpstream(host, port, config, logger);
|
|
114
134
|
await sleep(DEFAULT_CONFIG.REGISTRATION_DELAY);
|
|
115
135
|
logger.info('2️⃣ Registering service...');
|
|
116
|
-
await registerService(host, port, config);
|
|
136
|
+
await registerService(host, port, config, logger);
|
|
117
137
|
await sleep(DEFAULT_CONFIG.REGISTRATION_DELAY);
|
|
118
138
|
logger.info('3️⃣ Registering route...');
|
|
119
|
-
await registerRoute(host, port, config);
|
|
139
|
+
await registerRoute(host, port, config, logger);
|
|
120
140
|
logger.info('✅ API Gateway registration completed successfully');
|
|
121
141
|
logger.info(`🔗 Service registered at: /api/v${config.apiVersion}/${config.appName}/*`);
|
|
122
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGatewayLoader.js","sourceRoot":"","sources":["../../../../src/libs/gateway/ApiGatewayLoader.ts"],"names":[],"mappings":";;;;;;AAeA,oDAAuB;AAEvB,sCAQmB;AACnB,4CAAgE;AAChE,sCAAmC;AAuBnC,MAAM,UAAU,GAAG;IAEjB,kBAAkB,EAAE,oBAAoB;IAExC,uBAAuB,EAAE,yBAAyB;IAElD,qBAAqB,EAAE,uBAAuB;IAE9C,OAAO,EAAE,SAAS;CACV,CAAC;AAMX,MAAM,cAAc,GAAG;IAErB,YAAY,EAAE,EAAE;IAEhB,kBAAkB,EAAE,IAAI;CAChB,CAAC;AAkBX,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AASF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAW,EAAE;IAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AAClE,CAAC,CAAC;AAaF,MAAM,YAAY,GAAG,CAAC,aAAqB,EAAY,EAAE;IACvD,OAAO,aAAa;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AASF,MAAM,aAAa,GAAG,CAAC,cAAsB,EAAoB,EAAE;IACjE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,gBAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AAoCF,MAAM,mBAAmB,GAAG,CAAC,UAAmB,EAAoB,EAAE;IAGpE,MAAM,SAAS,GAAG,yBAAa,CAAC,SAAS,CAAoB,aAAa,CAAC,CAAC;IAI5E,MAAM,EAAE,MAAM,EAAE,GAAG,yBAAa,CAAC,SAAS,CAAqB,QAAQ,CAAC,CAAC;IAIzE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE5C,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,OAAO,EAAE,SAAS,CAAC,IAAI;QACvB,UAAU,EAAE,SAAS,CAAC,OAAO;QAC7B,KAAK,EAAE,yBAAa,CAAC,cAAc,EAAE;QACrC,OAAO,EAAE,yBAAa,CAAC,aAAa,EAAE;QACtC,OAAO;QACP,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiGatewayLoader.js","sourceRoot":"","sources":["../../../../src/libs/gateway/ApiGatewayLoader.ts"],"names":[],"mappings":"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"}
|