node-consul-service 1.0.69 → 1.0.71

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.
@@ -3,4 +3,5 @@ export interface ServiceInstance {
3
3
  ServiceName: string;
4
4
  ServiceAddress: string;
5
5
  ServicePort: number;
6
+ Address: any;
6
7
  }
package/dist/index.cjs.js CHANGED
@@ -88,47 +88,91 @@ async function deregisterService(id) {
88
88
  console.log(`🛑 Service "${id}" deregistered successfully.`);
89
89
  }
90
90
 
91
- const LOG_DIR$1 = '/home/log';
92
- const LOG_FILE$1 = path.join(LOG_DIR$1, 'detect.log');
93
- // تأكد من وجود المجلد
94
- async function ensureLogDir$1() {
95
- await require$$6.promises.mkdir(LOG_DIR$1, { recursive: true });
91
+ const BASE_LOG_DIR$1 = '/home/log';
92
+ // اسم السيرفس الحالي اللي بيعمل الـ discovery
93
+ const CURRENT_SERVICE$1 = process.env.SERVICE_NAME || 'unknown-service';
94
+ async function ensureLogDir$1(dir) {
95
+ await require$$6.promises.mkdir(dir, { recursive: true });
96
96
  }
97
- // صيغة السطر
98
- function formatLogLine(serviceName, instance, elapsedMs) {
97
+ function formatLogLine(targetService, instance, elapsedMs) {
99
98
  var _a, _b, _c, _d, _e;
100
99
  const ts = new Date().toISOString();
101
- const addr = (_b = (_a = instance.ServiceAddress) !== null && _a !== void 0 ? _a : instance.ServiceAddress) !== null && _b !== void 0 ? _b : 'unknown';
100
+ const addr = (_b = (_a = instance.ServiceAddress) !== null && _a !== void 0 ? _a : instance.Address) !== null && _b !== void 0 ? _b : 'unknown';
102
101
  const port = (_c = instance.ServicePort) !== null && _c !== void 0 ? _c : 'unknown';
103
102
  const node = (_d = instance.Node) !== null && _d !== void 0 ? _d : 'N/A';
104
103
  const id = (_e = instance.ServiceID) !== null && _e !== void 0 ? _e : 'N/A';
105
104
  const elapsed = elapsedMs !== undefined ? ` | Elapsed=${elapsedMs}ms` : '';
106
- return `${ts} | ${serviceName} | ${addr}:${port} | Node=${node} | ID=${id}${elapsed}\n`;
105
+ return `${ts} | Target=${targetService} | ${addr}:${port} | Node=${node} | ID=${id}${elapsed}\n`;
107
106
  }
108
- // دالة تسجيل
109
- async function appendDiscoveryLog(serviceName, instance, elapsedMs) {
107
+ async function appendDiscoveryLog(targetService, instance, elapsedMs) {
110
108
  try {
111
- await ensureLogDir$1();
112
- const line = formatLogLine(serviceName, instance, elapsedMs);
113
- await require$$6.promises.appendFile(LOG_FILE$1, line, { encoding: 'utf8' });
109
+ // فولدر خاص بالسيرفس الحالي
110
+ const serviceDir = path.join(BASE_LOG_DIR$1, CURRENT_SERVICE$1);
111
+ await ensureLogDir$1(serviceDir);
112
+ // اللوج يروح في ملف ثابت detect.log
113
+ const file = path.join(serviceDir, 'detect.log');
114
+ const line = formatLogLine(targetService, instance, elapsedMs);
115
+ await require$$6.promises.appendFile(file, line, { encoding: 'utf8' });
114
116
  }
115
117
  catch (err) {
116
118
  console.error('❌ Failed to write discovery log:', err);
117
119
  }
118
120
  }
119
121
 
122
+ const store = new Map();
123
+ /**
124
+ * Set a value in memory with optional TTL (ms).
125
+ */
126
+ function set(key, value, ttl) {
127
+ const record = { value };
128
+ {
129
+ record.expiresAt = Date.now() + ttl;
130
+ }
131
+ store.set(key, record);
132
+ }
133
+ /**
134
+ * Get a value from memory.
135
+ * Returns undefined if key does not exist or expired.
136
+ */
137
+ function get$1(key) {
138
+ const record = store.get(key);
139
+ if (!record)
140
+ return undefined;
141
+ if (record.expiresAt && record.expiresAt < Date.now()) {
142
+ store.delete(key);
143
+ return undefined;
144
+ }
145
+ return record.value;
146
+ }
147
+
148
+ const CACHE_TTL = 10000; // 10 ثواني – عدلها حسب احتياجك
120
149
  async function listServices() {
150
+ const cacheKey = 'services:list';
151
+ const cached = get$1(cacheKey);
152
+ if (cached)
153
+ return cached;
121
154
  const services = await getClient().agent.service.list();
122
- return Object.values(services);
155
+ const values = Object.values(services);
156
+ set(cacheKey, values, CACHE_TTL);
157
+ return values;
123
158
  }
124
159
  async function getServiceInstances(serviceName) {
160
+ const cacheKey = `services:${serviceName}`;
161
+ const cached = get$1(cacheKey);
162
+ if (cached)
163
+ return cached;
125
164
  const start = Date.now();
126
165
  const services = await getClient().catalog.service.nodes(serviceName);
127
166
  const elapsed = Date.now() - start;
128
167
  console.log(`⏱️ Discovery for ${serviceName} took ${elapsed}ms`);
168
+ set(cacheKey, services, CACHE_TTL);
129
169
  return services;
130
170
  }
131
171
  async function getRandomServiceInstance(serviceName) {
172
+ const cacheKey = `random:${serviceName}`;
173
+ const cached = get$1(cacheKey);
174
+ if (cached)
175
+ return cached;
132
176
  const start = Date.now();
133
177
  const instances = await getServiceInstances(serviceName);
134
178
  if (!instances.length)
@@ -137,11 +181,20 @@ async function getRandomServiceInstance(serviceName) {
137
181
  const instance = instances[randomIndex];
138
182
  const elapsed = Date.now() - start;
139
183
  await appendDiscoveryLog(serviceName, instance, elapsed);
184
+ // cache random instance
185
+ set(cacheKey, instance, CACHE_TTL);
140
186
  return instance;
141
187
  }
142
188
  async function getServiceUrl(serviceName) {
189
+ const cacheKey = `url:${serviceName}`;
190
+ const cached = get$1(cacheKey);
191
+ if (cached)
192
+ return cached;
143
193
  const instance = await getRandomServiceInstance(serviceName);
144
- return `http://${instance.ServiceAddress}:${instance.ServicePort}`;
194
+ const url = `http://${instance.ServiceAddress}:${instance.ServicePort}`;
195
+ // cache url
196
+ set(cacheKey, url, CACHE_TTL);
197
+ return url;
145
198
  }
146
199
 
147
200
  function bind(fn, thisArg) {
@@ -20259,20 +20312,34 @@ const {
20259
20312
  mergeConfig
20260
20313
  } = axios;
20261
20314
 
20262
- const LOG_DIR = '/home/log';
20263
- const LOG_FILE = path.join(LOG_DIR, 'calls.log');
20264
- async function ensureLogDir() {
20265
- await require$$6.promises.mkdir(LOG_DIR, { recursive: true });
20315
+ const BASE_LOG_DIR = '/home/log';
20316
+ const CURRENT_SERVICE = process.env.SERVICE_NAME || 'unknown-service';
20317
+ async function ensureLogDir(dir) {
20318
+ await require$$6.promises.mkdir(dir, { recursive: true });
20266
20319
  }
20267
- function formatCallLogLine(serviceName, url, method, status, elapsedMs) {
20320
+ function getLogFileForStatus(status) {
20321
+ const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
20322
+ const serviceDir = path.join(BASE_LOG_DIR, CURRENT_SERVICE);
20323
+ if (status >= 200 && status < 300)
20324
+ return path.join(serviceDir, `calls-2xx-${date}.log`);
20325
+ if (status >= 400 && status < 500)
20326
+ return path.join(serviceDir, `calls-4xx-${date}.log`);
20327
+ if (status >= 500 && status < 600)
20328
+ return path.join(serviceDir, `calls-5xx-${date}.log`);
20329
+ return path.join(serviceDir, `calls-other-${date}.log`);
20330
+ }
20331
+ function formatCallLogLine(targetService, url, method, status, elapsedMs, errorMessage) {
20268
20332
  const ts = new Date().toISOString();
20269
- return `${ts} | ${serviceName} | ${method.toUpperCase()} ${url} | Status=${status} | Elapsed=${elapsedMs}ms\n`;
20333
+ const errPart = errorMessage ? ` | Error="${errorMessage}"` : '';
20334
+ return `${ts} | Caller=${CURRENT_SERVICE} | Target=${targetService} | ${method.toUpperCase()} ${url} | Status=${status} | Elapsed=${elapsedMs}ms${errPart}\n`;
20270
20335
  }
20271
- async function appendCallLog(serviceName, url, method, status, elapsedMs) {
20336
+ async function appendCallLog(targetService, url, method, status, elapsedMs, errorMessage) {
20272
20337
  try {
20273
- await ensureLogDir();
20274
- const line = formatCallLogLine(serviceName, url, method, status, elapsedMs);
20275
- await require$$6.promises.appendFile(LOG_FILE, line, { encoding: 'utf8' });
20338
+ const file = getLogFileForStatus(status);
20339
+ const dir = path.dirname(file);
20340
+ await ensureLogDir(dir);
20341
+ const line = formatCallLogLine(targetService, url, method, status, elapsedMs, errorMessage);
20342
+ await require$$6.promises.appendFile(file, line, { encoding: 'utf8' });
20276
20343
  }
20277
20344
  catch (err) {
20278
20345
  console.error('❌ Failed to write call log:', err);
@@ -20280,35 +20347,33 @@ async function appendCallLog(serviceName, url, method, status, elapsedMs) {
20280
20347
  }
20281
20348
 
20282
20349
  async function callService(serviceName, options = {}) {
20283
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
20350
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
20284
20351
  const { method = 'GET', path = '/', data, headers, params, } = options;
20285
20352
  const start = Date.now();
20286
20353
  try {
20354
+ // ...
20287
20355
  const instance = await getRandomServiceInstance(serviceName);
20288
20356
  const url = `http://${instance.ServiceAddress}:${instance.ServicePort}${path}`;
20289
- const response = await axios.request({
20290
- url,
20291
- method,
20292
- data,
20293
- headers,
20294
- params,
20295
- });
20357
+ const response = await axios.request({ url, method, data, headers, params });
20296
20358
  const elapsed = Date.now() - start;
20297
- // 📌 سجل نجاح الكول
20359
+ // سجل في فولدر السيرفس الحالي (مش target)
20298
20360
  await appendCallLog(serviceName, url, method, response.status, elapsed);
20299
20361
  return response.data;
20300
20362
  }
20301
20363
  catch (error) {
20302
20364
  const elapsed = Date.now() - start;
20303
- // 📌 سجل الفشل كمان
20304
20365
  const status = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 0;
20305
- await appendCallLog(serviceName, (_d = (_c = error.config) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : '', (_f = (_e = error.config) === null || _e === void 0 ? void 0 : _e.method) !== null && _f !== void 0 ? _f : method, status, elapsed);
20366
+ const url = (_d = (_c = error.config) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : '';
20367
+ const methodUsed = (_f = (_e = error.config) === null || _e === void 0 ? void 0 : _e.method) !== null && _f !== void 0 ? _f : method;
20368
+ const message = (_g = error.message) !== null && _g !== void 0 ? _g : 'Unknown error';
20369
+ // 📌 سجل الفشل مع رسالة الخطأ
20370
+ await appendCallLog(serviceName, url, methodUsed, status, elapsed, message);
20306
20371
  return {
20307
20372
  success: false,
20308
- message: error.message,
20373
+ message,
20309
20374
  status,
20310
- code: (_j = (_h = (_g = error.response) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.code) !== null && _j !== void 0 ? _j : "",
20311
- data: (_k = error.response) === null || _k === void 0 ? void 0 : _k.data,
20375
+ code: (_k = (_j = (_h = error.response) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.code) !== null && _k !== void 0 ? _k : "",
20376
+ data: (_l = error.response) === null || _l === void 0 ? void 0 : _l.data,
20312
20377
  };
20313
20378
  }
20314
20379
  }
package/dist/index.esm.js CHANGED
@@ -86,47 +86,91 @@ async function deregisterService(id) {
86
86
  console.log(`🛑 Service "${id}" deregistered successfully.`);
87
87
  }
88
88
 
89
- const LOG_DIR$1 = '/home/log';
90
- const LOG_FILE$1 = path.join(LOG_DIR$1, 'detect.log');
91
- // تأكد من وجود المجلد
92
- async function ensureLogDir$1() {
93
- await promises.mkdir(LOG_DIR$1, { recursive: true });
89
+ const BASE_LOG_DIR$1 = '/home/log';
90
+ // اسم السيرفس الحالي اللي بيعمل الـ discovery
91
+ const CURRENT_SERVICE$1 = process.env.SERVICE_NAME || 'unknown-service';
92
+ async function ensureLogDir$1(dir) {
93
+ await promises.mkdir(dir, { recursive: true });
94
94
  }
95
- // صيغة السطر
96
- function formatLogLine(serviceName, instance, elapsedMs) {
95
+ function formatLogLine(targetService, instance, elapsedMs) {
97
96
  var _a, _b, _c, _d, _e;
98
97
  const ts = new Date().toISOString();
99
- const addr = (_b = (_a = instance.ServiceAddress) !== null && _a !== void 0 ? _a : instance.ServiceAddress) !== null && _b !== void 0 ? _b : 'unknown';
98
+ const addr = (_b = (_a = instance.ServiceAddress) !== null && _a !== void 0 ? _a : instance.Address) !== null && _b !== void 0 ? _b : 'unknown';
100
99
  const port = (_c = instance.ServicePort) !== null && _c !== void 0 ? _c : 'unknown';
101
100
  const node = (_d = instance.Node) !== null && _d !== void 0 ? _d : 'N/A';
102
101
  const id = (_e = instance.ServiceID) !== null && _e !== void 0 ? _e : 'N/A';
103
102
  const elapsed = elapsedMs !== undefined ? ` | Elapsed=${elapsedMs}ms` : '';
104
- return `${ts} | ${serviceName} | ${addr}:${port} | Node=${node} | ID=${id}${elapsed}\n`;
103
+ return `${ts} | Target=${targetService} | ${addr}:${port} | Node=${node} | ID=${id}${elapsed}\n`;
105
104
  }
106
- // دالة تسجيل
107
- async function appendDiscoveryLog(serviceName, instance, elapsedMs) {
105
+ async function appendDiscoveryLog(targetService, instance, elapsedMs) {
108
106
  try {
109
- await ensureLogDir$1();
110
- const line = formatLogLine(serviceName, instance, elapsedMs);
111
- await promises.appendFile(LOG_FILE$1, line, { encoding: 'utf8' });
107
+ // فولدر خاص بالسيرفس الحالي
108
+ const serviceDir = path.join(BASE_LOG_DIR$1, CURRENT_SERVICE$1);
109
+ await ensureLogDir$1(serviceDir);
110
+ // اللوج يروح في ملف ثابت detect.log
111
+ const file = path.join(serviceDir, 'detect.log');
112
+ const line = formatLogLine(targetService, instance, elapsedMs);
113
+ await promises.appendFile(file, line, { encoding: 'utf8' });
112
114
  }
113
115
  catch (err) {
114
116
  console.error('❌ Failed to write discovery log:', err);
115
117
  }
116
118
  }
117
119
 
120
+ const store = new Map();
121
+ /**
122
+ * Set a value in memory with optional TTL (ms).
123
+ */
124
+ function set(key, value, ttl) {
125
+ const record = { value };
126
+ {
127
+ record.expiresAt = Date.now() + ttl;
128
+ }
129
+ store.set(key, record);
130
+ }
131
+ /**
132
+ * Get a value from memory.
133
+ * Returns undefined if key does not exist or expired.
134
+ */
135
+ function get$1(key) {
136
+ const record = store.get(key);
137
+ if (!record)
138
+ return undefined;
139
+ if (record.expiresAt && record.expiresAt < Date.now()) {
140
+ store.delete(key);
141
+ return undefined;
142
+ }
143
+ return record.value;
144
+ }
145
+
146
+ const CACHE_TTL = 10000; // 10 ثواني – عدلها حسب احتياجك
118
147
  async function listServices() {
148
+ const cacheKey = 'services:list';
149
+ const cached = get$1(cacheKey);
150
+ if (cached)
151
+ return cached;
119
152
  const services = await getClient().agent.service.list();
120
- return Object.values(services);
153
+ const values = Object.values(services);
154
+ set(cacheKey, values, CACHE_TTL);
155
+ return values;
121
156
  }
122
157
  async function getServiceInstances(serviceName) {
158
+ const cacheKey = `services:${serviceName}`;
159
+ const cached = get$1(cacheKey);
160
+ if (cached)
161
+ return cached;
123
162
  const start = Date.now();
124
163
  const services = await getClient().catalog.service.nodes(serviceName);
125
164
  const elapsed = Date.now() - start;
126
165
  console.log(`⏱️ Discovery for ${serviceName} took ${elapsed}ms`);
166
+ set(cacheKey, services, CACHE_TTL);
127
167
  return services;
128
168
  }
129
169
  async function getRandomServiceInstance(serviceName) {
170
+ const cacheKey = `random:${serviceName}`;
171
+ const cached = get$1(cacheKey);
172
+ if (cached)
173
+ return cached;
130
174
  const start = Date.now();
131
175
  const instances = await getServiceInstances(serviceName);
132
176
  if (!instances.length)
@@ -135,11 +179,20 @@ async function getRandomServiceInstance(serviceName) {
135
179
  const instance = instances[randomIndex];
136
180
  const elapsed = Date.now() - start;
137
181
  await appendDiscoveryLog(serviceName, instance, elapsed);
182
+ // cache random instance
183
+ set(cacheKey, instance, CACHE_TTL);
138
184
  return instance;
139
185
  }
140
186
  async function getServiceUrl(serviceName) {
187
+ const cacheKey = `url:${serviceName}`;
188
+ const cached = get$1(cacheKey);
189
+ if (cached)
190
+ return cached;
141
191
  const instance = await getRandomServiceInstance(serviceName);
142
- return `http://${instance.ServiceAddress}:${instance.ServicePort}`;
192
+ const url = `http://${instance.ServiceAddress}:${instance.ServicePort}`;
193
+ // cache url
194
+ set(cacheKey, url, CACHE_TTL);
195
+ return url;
143
196
  }
144
197
 
145
198
  function bind(fn, thisArg) {
@@ -20257,20 +20310,34 @@ const {
20257
20310
  mergeConfig
20258
20311
  } = axios;
20259
20312
 
20260
- const LOG_DIR = '/home/log';
20261
- const LOG_FILE = path.join(LOG_DIR, 'calls.log');
20262
- async function ensureLogDir() {
20263
- await promises.mkdir(LOG_DIR, { recursive: true });
20313
+ const BASE_LOG_DIR = '/home/log';
20314
+ const CURRENT_SERVICE = process.env.SERVICE_NAME || 'unknown-service';
20315
+ async function ensureLogDir(dir) {
20316
+ await promises.mkdir(dir, { recursive: true });
20264
20317
  }
20265
- function formatCallLogLine(serviceName, url, method, status, elapsedMs) {
20318
+ function getLogFileForStatus(status) {
20319
+ const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
20320
+ const serviceDir = path.join(BASE_LOG_DIR, CURRENT_SERVICE);
20321
+ if (status >= 200 && status < 300)
20322
+ return path.join(serviceDir, `calls-2xx-${date}.log`);
20323
+ if (status >= 400 && status < 500)
20324
+ return path.join(serviceDir, `calls-4xx-${date}.log`);
20325
+ if (status >= 500 && status < 600)
20326
+ return path.join(serviceDir, `calls-5xx-${date}.log`);
20327
+ return path.join(serviceDir, `calls-other-${date}.log`);
20328
+ }
20329
+ function formatCallLogLine(targetService, url, method, status, elapsedMs, errorMessage) {
20266
20330
  const ts = new Date().toISOString();
20267
- return `${ts} | ${serviceName} | ${method.toUpperCase()} ${url} | Status=${status} | Elapsed=${elapsedMs}ms\n`;
20331
+ const errPart = errorMessage ? ` | Error="${errorMessage}"` : '';
20332
+ return `${ts} | Caller=${CURRENT_SERVICE} | Target=${targetService} | ${method.toUpperCase()} ${url} | Status=${status} | Elapsed=${elapsedMs}ms${errPart}\n`;
20268
20333
  }
20269
- async function appendCallLog(serviceName, url, method, status, elapsedMs) {
20334
+ async function appendCallLog(targetService, url, method, status, elapsedMs, errorMessage) {
20270
20335
  try {
20271
- await ensureLogDir();
20272
- const line = formatCallLogLine(serviceName, url, method, status, elapsedMs);
20273
- await promises.appendFile(LOG_FILE, line, { encoding: 'utf8' });
20336
+ const file = getLogFileForStatus(status);
20337
+ const dir = path.dirname(file);
20338
+ await ensureLogDir(dir);
20339
+ const line = formatCallLogLine(targetService, url, method, status, elapsedMs, errorMessage);
20340
+ await promises.appendFile(file, line, { encoding: 'utf8' });
20274
20341
  }
20275
20342
  catch (err) {
20276
20343
  console.error('❌ Failed to write call log:', err);
@@ -20278,35 +20345,33 @@ async function appendCallLog(serviceName, url, method, status, elapsedMs) {
20278
20345
  }
20279
20346
 
20280
20347
  async function callService(serviceName, options = {}) {
20281
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
20348
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
20282
20349
  const { method = 'GET', path = '/', data, headers, params, } = options;
20283
20350
  const start = Date.now();
20284
20351
  try {
20352
+ // ...
20285
20353
  const instance = await getRandomServiceInstance(serviceName);
20286
20354
  const url = `http://${instance.ServiceAddress}:${instance.ServicePort}${path}`;
20287
- const response = await axios.request({
20288
- url,
20289
- method,
20290
- data,
20291
- headers,
20292
- params,
20293
- });
20355
+ const response = await axios.request({ url, method, data, headers, params });
20294
20356
  const elapsed = Date.now() - start;
20295
- // 📌 سجل نجاح الكول
20357
+ // سجل في فولدر السيرفس الحالي (مش target)
20296
20358
  await appendCallLog(serviceName, url, method, response.status, elapsed);
20297
20359
  return response.data;
20298
20360
  }
20299
20361
  catch (error) {
20300
20362
  const elapsed = Date.now() - start;
20301
- // 📌 سجل الفشل كمان
20302
20363
  const status = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 0;
20303
- await appendCallLog(serviceName, (_d = (_c = error.config) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : '', (_f = (_e = error.config) === null || _e === void 0 ? void 0 : _e.method) !== null && _f !== void 0 ? _f : method, status, elapsed);
20364
+ const url = (_d = (_c = error.config) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : '';
20365
+ const methodUsed = (_f = (_e = error.config) === null || _e === void 0 ? void 0 : _e.method) !== null && _f !== void 0 ? _f : method;
20366
+ const message = (_g = error.message) !== null && _g !== void 0 ? _g : 'Unknown error';
20367
+ // 📌 سجل الفشل مع رسالة الخطأ
20368
+ await appendCallLog(serviceName, url, methodUsed, status, elapsed, message);
20304
20369
  return {
20305
20370
  success: false,
20306
- message: error.message,
20371
+ message,
20307
20372
  status,
20308
- code: (_j = (_h = (_g = error.response) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.code) !== null && _j !== void 0 ? _j : "",
20309
- data: (_k = error.response) === null || _k === void 0 ? void 0 : _k.data,
20373
+ code: (_k = (_j = (_h = error.response) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.code) !== null && _k !== void 0 ? _k : "",
20374
+ data: (_l = error.response) === null || _l === void 0 ? void 0 : _l.data,
20310
20375
  };
20311
20376
  }
20312
20377
  }
@@ -1 +1 @@
1
- export declare function appendCallLog(serviceName: string, url: string, method: string, status: number, elapsedMs: number): Promise<void>;
1
+ export declare function appendCallLog(targetService: string, url: string, method: string, status: number, elapsedMs: number, errorMessage?: string): Promise<void>;
@@ -1,2 +1,2 @@
1
1
  import { ServiceInstance } from '../consul/types';
2
- export declare function appendDiscoveryLog(serviceName: string, instance: ServiceInstance, elapsedMs?: number): Promise<void>;
2
+ export declare function appendDiscoveryLog(targetService: string, instance: ServiceInstance, elapsedMs?: number): Promise<void>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Set a value in memory with optional TTL (ms).
3
+ */
4
+ export declare function set(key: string, value: any, ttl?: number): void;
5
+ /**
6
+ * Get a value from memory.
7
+ * Returns undefined if key does not exist or expired.
8
+ */
9
+ export declare function get<T = any>(key: string): T | undefined;
10
+ /**
11
+ * Delete a value.
12
+ */
13
+ export declare function del(key: string): void;
14
+ /**
15
+ * Clear all keys.
16
+ */
17
+ export declare function clear(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-consul-service",
3
- "version": "1.0.69",
3
+ "version": "1.0.71",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",