badmfck-api-server 2.0.2 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -59,4 +59,5 @@ export declare class APIService extends BaseService {
59
59
  constructor(options?: APIServiceOptions | null);
60
60
  init(): Promise<void>;
61
61
  sendResponse(res: Response, data: TransferPacketVO<any>, requestTime: number, endpoint?: string, log?: APIServiceNetworkLogItem | null, req?: HTTPRequestVO): Promise<void>;
62
+ checkDataLength(data: any, result?: any, lvl?: number): any;
62
63
  }
@@ -193,9 +193,10 @@ class APIService extends BaseService_1.BaseService {
193
193
  if (!i.ignoreHttpLogging) {
194
194
  log = await exports.REQ_CREATE_NET_LOG.request();
195
195
  log.request = {
196
+ url: req.url,
196
197
  method: req.method,
197
- data: req.body,
198
- params: req.params
198
+ data: this.checkDataLength(req.body),
199
+ params: this.checkDataLength(req.params)
199
200
  };
200
201
  }
201
202
  const execute = async () => {
@@ -363,12 +364,12 @@ class APIService extends BaseService_1.BaseService {
363
364
  if (data.rawResponse) {
364
365
  res.send(data.data);
365
366
  if (log)
366
- log.response = data.data;
367
+ log.response = this.checkDataLength(data);
367
368
  }
368
369
  else {
369
370
  res.send(data);
370
371
  if (log)
371
- log.response = data;
372
+ log.response = this.checkDataLength(data);
372
373
  if (data.error && this.monitor)
373
374
  this.monitor.registrateAPIError(data.endpoint);
374
375
  }
@@ -386,5 +387,28 @@ class APIService extends BaseService_1.BaseService {
386
387
  if (this.options.onNetworkLog && log)
387
388
  this.options.onNetworkLog(log);
388
389
  }
390
+ checkDataLength(data, result, lvl) {
391
+ if (!lvl)
392
+ lvl = 0;
393
+ if (typeof data !== "object") {
394
+ if (typeof data === "string" && data.length > 1024)
395
+ return data.substring(0, 1000) + "... (total:" + data.length + ")";
396
+ return data;
397
+ }
398
+ if (typeof data === "object") {
399
+ if (!result)
400
+ result = {};
401
+ let arrcnt = 100;
402
+ for (let i in data) {
403
+ result[i] = this.checkDataLength(data[i], result[i], lvl + 1);
404
+ arrcnt--;
405
+ if (arrcnt <= 0) {
406
+ result["..."] = "...";
407
+ break;
408
+ }
409
+ }
410
+ }
411
+ return result ?? null;
412
+ }
389
413
  }
390
414
  exports.APIService = APIService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "badmfck-api-server",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Simple API http server based on express",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",