@6thbridge/utils 1.0.14 → 1.0.15-3

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.
@@ -1,4 +1,5 @@
1
- import { AxiosError, CreateAxiosDefaults } from 'axios';
1
+ import { AxiosError, AxiosInstance, CreateAxiosDefaults } from 'axios';
2
+ import { Logger } from "../logger";
2
3
  export interface FormattedAxiosError {
3
4
  status: number;
4
5
  statusText: string;
@@ -14,9 +15,15 @@ export interface FormattedAxiosError {
14
15
  }
15
16
  export declare class AxiosClass {
16
17
  static resolveAxiosError(error: Error | AxiosError | any): FormattedAxiosError;
17
- static getAxiosInstance(config?: CreateAxiosDefaults): import("axios").AxiosInstance;
18
+ static getAxiosInstance(config?: CreateAxiosDefaults): AxiosInstance & {
19
+ __monitored_logging?: boolean | undefined;
20
+ };
18
21
  }
19
22
  export declare class HttpUtil {
23
+ private static _httpLogger?;
24
+ static setHttpLogger(loggerLike: Logger): void;
20
25
  static resolveAxiosError(error: Error | AxiosError | any): FormattedAxiosError;
21
- static getAxiosInstance(config?: CreateAxiosDefaults): import("axios").AxiosInstance;
26
+ static getAxiosInstance(config?: CreateAxiosDefaults): AxiosInstance & {
27
+ __monitored_logging?: boolean | undefined;
28
+ };
22
29
  }
package/lib/utils/http.js CHANGED
@@ -16,6 +16,9 @@ class AxiosClass {
16
16
  }
17
17
  exports.AxiosClass = AxiosClass;
18
18
  class HttpUtil {
19
+ static setHttpLogger(loggerLike) {
20
+ HttpUtil._httpLogger = loggerLike;
21
+ }
19
22
  static resolveAxiosError(error) {
20
23
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
21
24
  let formattedError;
@@ -42,6 +45,80 @@ class HttpUtil {
42
45
  static getAxiosInstance(config) {
43
46
  const instance = axios_1.default.create(config);
44
47
  (0, axios_better_stacktrace_1.default)(instance);
48
+ // Attach logging interceptors once per instance
49
+ if (!instance.__monitored_logging) {
50
+ instance.__monitored_logging = true;
51
+ // Request interceptor
52
+ instance.interceptors.request.use((cfg) => {
53
+ var _a, _b, _c, _d, _e;
54
+ try {
55
+ cfg.__meta = { start: Date.now() };
56
+ // Skip logging for internal logger HTTP posts to avoid recursion
57
+ const headerSource = ((_a = cfg === null || cfg === void 0 ? void 0 : cfg.headers) === null || _a === void 0 ? void 0 : _a.source) || ((_b = cfg === null || cfg === void 0 ? void 0 : cfg.headers) === null || _b === void 0 ? void 0 : _b.Source);
58
+ const skipInternal = headerSource === 'internal' || String((cfg === null || cfg === void 0 ? void 0 : cfg.url) || '').includes('/v1/logs');
59
+ if (!skipInternal) {
60
+ (_c = HttpUtil._httpLogger) === null || _c === void 0 ? void 0 : _c.info('HTTP Request', {
61
+ method: cfg === null || cfg === void 0 ? void 0 : cfg.method,
62
+ baseURL: cfg === null || cfg === void 0 ? void 0 : cfg.baseURL,
63
+ url: cfg === null || cfg === void 0 ? void 0 : cfg.url,
64
+ headers: cfg === null || cfg === void 0 ? void 0 : cfg.headers,
65
+ params: cfg === null || cfg === void 0 ? void 0 : cfg.params,
66
+ data: cfg === null || cfg === void 0 ? void 0 : cfg.data,
67
+ });
68
+ }
69
+ }
70
+ catch (e) {
71
+ (_e = (_d = HttpUtil._httpLogger) === null || _d === void 0 ? void 0 : _d.debug) === null || _e === void 0 ? void 0 : _e.call(_d, 'Failed to log HTTP Request', { message: e === null || e === void 0 ? void 0 : e.message });
72
+ }
73
+ return cfg;
74
+ }, (error) => {
75
+ var _a;
76
+ try {
77
+ const formatted = HttpUtil.resolveAxiosError(error);
78
+ (_a = HttpUtil._httpLogger) === null || _a === void 0 ? void 0 : _a.error('HTTP Request Error', formatted);
79
+ }
80
+ catch (e) {
81
+ // swallow
82
+ }
83
+ return Promise.reject(error);
84
+ });
85
+ // Response interceptor
86
+ instance.interceptors.response.use((response) => {
87
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
88
+ try {
89
+ const start = (_b = (_a = response === null || response === void 0 ? void 0 : response.config) === null || _a === void 0 ? void 0 : _a.__meta) === null || _b === void 0 ? void 0 : _b.start;
90
+ const durationMs = start ? Date.now() - start : undefined;
91
+ const headerSource = ((_d = (_c = response === null || response === void 0 ? void 0 : response.config) === null || _c === void 0 ? void 0 : _c.headers) === null || _d === void 0 ? void 0 : _d.source) || ((_f = (_e = response === null || response === void 0 ? void 0 : response.config) === null || _e === void 0 ? void 0 : _e.headers) === null || _f === void 0 ? void 0 : _f.Source);
92
+ const skipInternal = headerSource === 'internal' || String(((_g = response === null || response === void 0 ? void 0 : response.config) === null || _g === void 0 ? void 0 : _g.url) || '').includes('/v1/logs');
93
+ if (!skipInternal) {
94
+ (_h = HttpUtil._httpLogger) === null || _h === void 0 ? void 0 : _h.info('HTTP Response', {
95
+ method: (_j = response === null || response === void 0 ? void 0 : response.config) === null || _j === void 0 ? void 0 : _j.method,
96
+ baseURL: (_k = response === null || response === void 0 ? void 0 : response.config) === null || _k === void 0 ? void 0 : _k.baseURL,
97
+ url: (_l = response === null || response === void 0 ? void 0 : response.config) === null || _l === void 0 ? void 0 : _l.url,
98
+ status: response === null || response === void 0 ? void 0 : response.status,
99
+ statusText: response === null || response === void 0 ? void 0 : response.statusText,
100
+ durationMs,
101
+ headers: response === null || response === void 0 ? void 0 : response.headers,
102
+ data: response === null || response === void 0 ? void 0 : response.data,
103
+ });
104
+ }
105
+ }
106
+ catch (e) {
107
+ (_o = (_m = HttpUtil._httpLogger) === null || _m === void 0 ? void 0 : _m.debug) === null || _o === void 0 ? void 0 : _o.call(_m, 'Failed to log HTTP Response', { message: e === null || e === void 0 ? void 0 : e.message });
108
+ }
109
+ return response;
110
+ }, (error) => {
111
+ var _a;
112
+ try {
113
+ const formatted = HttpUtil.resolveAxiosError(error);
114
+ (_a = HttpUtil._httpLogger) === null || _a === void 0 ? void 0 : _a.error('HTTP Response Error', formatted);
115
+ }
116
+ catch (e) {
117
+ // swallow
118
+ }
119
+ return Promise.reject(error);
120
+ });
121
+ }
45
122
  return instance;
46
123
  }
47
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+D;AAC/D,sFAA4D;AAgB5D,MAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,CAAC,KAA+B;QACtD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAA4B;QAClD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAPD,gCAOC;AAED,MAAa,QAAQ;IACnB,MAAM,CAAC,iBAAiB,CAAC,KAA+B;;QACtD,IAAI,cAAmC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,EAAE,CAAA;YACtC,cAAc,GAAG;gBACf,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,mCAAI,SAAS;gBACrC,UAAU,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,KAAK,CAAC,OAAO;gBACjD,OAAO,EAAE,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,mCAAI,KAAK,CAAC,OAAO,mCAAI,eAAe;gBAClE,GAAG,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,GAAG,mCAAI,EAAE;gBAChC,MAAM,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,MAAM,mCAAI,EAAE;gBACtC,IAAI,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;gBAClC,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;gBAC1B,GAAG,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE;gBACzB,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;gBACxB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE;aACzB,CAAC;QACJ,CAAC;QAAC,OAAO,EAAO,EAAE,CAAC;YACjB,cAAc,GAAG,EAAyB,CAAA;QAC5C,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAA4B;QAClD,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAA,iCAAqB,EAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA3BD,4BA2BC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@6thbridge/utils",
3
- "version": "1.0.14",
3
+ "version": "1.0.15-3",
4
4
  "description": "simple interface for the our commonly used functions",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -28,7 +28,6 @@
28
28
  "@opentelemetry/auto-instrumentations-node": "^0.62.2",
29
29
  "amqp-connection-manager": "^4.1.14",
30
30
  "amqplib": "^0.10.8",
31
- "apitoolkit-express": "^2.4.6",
32
31
  "axios": "^1.11.0",
33
32
  "axios-better-stacktrace": "^2.1.7",
34
33
  "bignumber.js": "^9.3.1",