@ngn-net/nestjs-telescope 0.2.8 → 0.2.9

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,5 +1,5 @@
1
1
  {
2
2
  "name": "@ngn-net/nestjs-telescope",
3
- "version": "0.2.8",
4
- "builtAt": "2026-06-08T12:41:45.083Z"
3
+ "version": "0.2.9",
4
+ "builtAt": "2026-06-08T12:45:39.623Z"
5
5
  }
@@ -22,6 +22,10 @@ let ExceptionWatcher = class ExceptionWatcher {
22
22
  this.telescope = telescope;
23
23
  }
24
24
  intercept(context, next) {
25
+ // Skip non-HTTP execution contexts (e.g. RPC/RabbitMQ or WebSockets)
26
+ if (context.getType() !== 'http') {
27
+ return next.handle();
28
+ }
25
29
  const request = context.switchToHttp().getRequest();
26
30
  return next.handle().pipe((0, operators_1.catchError)((err) => {
27
31
  this.telescope.record({
@@ -38,7 +42,7 @@ let ExceptionWatcher = class ExceptionWatcher {
38
42
  ip: request?.ip,
39
43
  },
40
44
  },
41
- });
45
+ }).catch(() => { });
42
46
  return (0, rxjs_1.throwError)(() => err);
43
47
  }));
44
48
  }
@@ -27,6 +27,10 @@ let HttpRequestWatcher = class HttpRequestWatcher {
27
27
  this.options = options;
28
28
  }
29
29
  intercept(context, next) {
30
+ // Skip non-HTTP execution contexts (e.g. RPC/RabbitMQ or WebSockets)
31
+ if (context.getType() !== 'http') {
32
+ return next.handle();
33
+ }
30
34
  const request = context.switchToHttp().getRequest();
31
35
  const response = context.switchToHttp().getResponse();
32
36
  const url = request.originalUrl || request.url || '/';
@@ -43,20 +47,40 @@ let HttpRequestWatcher = class HttpRequestWatcher {
43
47
  query: request.query,
44
48
  ip: request.ip,
45
49
  };
46
- return next.handle().pipe((0, operators_1.tap)((responseBody) => {
47
- const duration = Date.now() - start;
48
- const statusCode = response.statusCode || 200;
49
- this.telescope.record({
50
- type: entry_type_enum_1.EntryType.REQUEST,
51
- content: {
52
- request: requestData,
53
- response: {
54
- statusCode,
55
- body: responseBody,
50
+ return next.handle().pipe((0, operators_1.tap)({
51
+ next: (responseBody) => {
52
+ const duration = Date.now() - start;
53
+ const statusCode = response.statusCode || 200;
54
+ this.telescope.record({
55
+ type: entry_type_enum_1.EntryType.REQUEST,
56
+ content: {
57
+ request: requestData,
58
+ response: {
59
+ statusCode,
60
+ body: responseBody,
61
+ },
62
+ duration,
63
+ },
64
+ }).catch(() => { });
65
+ },
66
+ error: (error) => {
67
+ const duration = Date.now() - start;
68
+ const statusCode = error.status || error.statusCode || 500;
69
+ this.telescope.record({
70
+ type: entry_type_enum_1.EntryType.REQUEST,
71
+ content: {
72
+ request: requestData,
73
+ response: {
74
+ statusCode,
75
+ body: {
76
+ message: error.message || String(error),
77
+ error: error.name || 'Error',
78
+ },
79
+ },
80
+ duration,
56
81
  },
57
- duration,
58
- },
59
- });
82
+ }).catch(() => { });
83
+ },
60
84
  }));
61
85
  }
62
86
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngn-net/nestjs-telescope",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },