@stamhoofd/backend-middleware 2.83.5 → 2.84.0

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 +1 @@
1
- {"version":3,"file":"LogMiddleware.d.ts","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA4ExG,eAAO,MAAM,aAAa,EAAE,kBAAkB,GAAG,iBA+DhD,CAAC"}
1
+ {"version":3,"file":"LogMiddleware.d.ts","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAsFxG,eAAO,MAAM,aAAa,EAAE,kBAAkB,GAAG,iBAiEhD,CAAC"}
@@ -49,26 +49,31 @@ function requestOneLiner(request) {
49
49
  ];
50
50
  }
51
51
  function requestPrefix(request, ...classes) {
52
- if (!request._uniqueIndex) {
53
- return [];
52
+ if (request._uniqueIndex === undefined) {
53
+ return [
54
+ new simple_logging_1.StyledText(`[UNKNOWN REQUEST] `).addClass('request', 'tag', ...classes),
55
+ ];
54
56
  }
55
57
  return [
56
58
  new simple_logging_1.StyledText(`[R${request._uniqueIndex.toString().padStart(4, '0')}] `).addClass('request', 'tag', ...classes),
57
59
  ];
58
60
  }
61
+ function assignIndex(request) {
62
+ if (request._uniqueIndex !== undefined) {
63
+ return; // Already assigned
64
+ }
65
+ request._uniqueIndex = ++requestCounter;
66
+ request._startTime = process.hrtime();
67
+ }
59
68
  exports.LogMiddleware = {
60
69
  handleRequest(request) {
61
- request._uniqueIndex = requestCounter++;
62
- request._startTime = process.hrtime();
63
- if (request.method == 'OPTIONS') {
64
- if (STAMHOOFD.environment === 'development') {
65
- simple_logging_1.logger.log(...requestPrefix(request), ...requestOneLiner(request));
66
- }
67
- return;
68
- }
69
- simple_logging_1.logger.log(...requestPrefix(request), ...requestOneLiner(request));
70
+ assignIndex(request);
70
71
  },
71
72
  wrapRun(run, request) {
73
+ assignIndex(request);
74
+ if (request.method !== 'OPTIONS' || STAMHOOFD.environment === 'development') {
75
+ simple_logging_1.logger.log(...requestPrefix(request, 'first'), ...requestOneLiner(request));
76
+ }
72
77
  return simple_logging_1.logger.setContext({
73
78
  prefixes: requestPrefix(request, 'output'),
74
79
  tags: ['request', 'request-output'],
@@ -78,18 +83,21 @@ exports.LogMiddleware = {
78
83
  const endTime = process.hrtime();
79
84
  const startTime = request._startTime ?? endTime;
80
85
  const timeInMs = Math.round((endTime[0] - startTime[0]) * 1000 + (endTime[1] - startTime[1]) / 1000000);
86
+ const prefix = !error ? [] : requestPrefix(request, 'error');
81
87
  if (request.method !== 'OPTIONS') {
82
- simple_logging_1.logger.log(...requestPrefix(request, 'time'), response.status + ' - Finished in ' + timeInMs + 'ms');
88
+ simple_logging_1.logger.log(...prefix, new simple_logging_1.StyledText('HTTP ' + response.status).addClass('request', 'status-code'), ' - Finished in ' + timeInMs + 'ms');
83
89
  }
84
90
  if (error) {
85
91
  if ((0, simple_errors_1.isSimpleError)(error) || (0, simple_errors_1.isSimpleErrors)(error)) {
86
92
  if (!error.hasCode('expired_access_token') && !error.hasCode('unknown_domain') && !error.hasCode('unknown_webshop')) {
87
- simple_logging_1.logger.error(...requestPrefix(request, 'error'), 'Request with error in response ', new simple_logging_1.StyledText(error).addClass('request', 'error'));
93
+ simple_logging_1.logger.error(...prefix, 'Request with error in response:');
94
+ simple_logging_1.logger.error(new simple_logging_1.StyledText(error).addClass('request', 'error'));
88
95
  logRequestDetails(request);
89
96
  }
90
97
  }
91
98
  else {
92
- simple_logging_1.logger.error(...requestPrefix(request, 'error'), 'Request with internal error ', new simple_logging_1.StyledText(error).addClass('request', 'error'));
99
+ simple_logging_1.logger.error(...prefix, 'Request with internal error:');
100
+ simple_logging_1.logger.error(...prefix, new simple_logging_1.StyledText(error).addClass('request', 'error'));
93
101
  logRequestDetails(request);
94
102
  }
95
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LogMiddleware.js","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogMiddleware.js","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/backend-middleware",
3
- "version": "2.83.5",
3
+ "version": "2.84.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -13,12 +13,12 @@
13
13
  "build": "tsc -b"
14
14
  },
15
15
  "dependencies": {
16
- "@simonbackx/simple-endpoints": "1.19.1",
16
+ "@simonbackx/simple-endpoints": "1.20.1",
17
17
  "@simonbackx/simple-errors": "^1.5",
18
18
  "@simonbackx/simple-logging": "^1.0.1"
19
19
  },
20
20
  "publishConfig": {
21
21
  "access": "public"
22
22
  },
23
- "gitHead": "6ba039bba88e801583188774a254c61e5ab28922"
23
+ "gitHead": "99cf8650892792358d7516bb83458642d886dee7"
24
24
  }
@@ -11,7 +11,7 @@ function logRequestDetails(request: Request) {
11
11
  }
12
12
 
13
13
  if (json && json.clientSecret) {
14
- json.clientSecret = '*******'
14
+ json.clientSecret = '*******';
15
15
  }
16
16
  logger.error(
17
17
  ...requestPrefix(request, 'query'),
@@ -32,7 +32,7 @@ function logRequestDetails(request: Request) {
32
32
  }
33
33
 
34
34
  if (json && json.clientSecret) {
35
- json.clientSecret = '*******'
35
+ json.clientSecret = '*******';
36
36
  }
37
37
 
38
38
  logger.error(
@@ -66,36 +66,39 @@ function requestOneLiner(request: Request): (StyledText | string)[] {
66
66
  }
67
67
 
68
68
  function requestPrefix(request: Request, ...classes: string[]): (StyledText | string)[] {
69
- if (!(request as any)._uniqueIndex) {
70
- return [];
69
+ if ((request as any)._uniqueIndex === undefined) {
70
+ return [
71
+ new StyledText(`[UNKNOWN REQUEST] `).addClass('request', 'tag', ...classes),
72
+ ];
71
73
  }
72
74
  return [
73
75
  new StyledText(`[R${((request as any)._uniqueIndex as number).toString().padStart(4, '0')}] `).addClass('request', 'tag', ...classes),
74
76
  ];
75
77
  }
76
78
 
79
+ function assignIndex(request: Request) {
80
+ if ((request as any)._uniqueIndex !== undefined) {
81
+ return; // Already assigned
82
+ }
83
+ (request as any)._uniqueIndex = ++requestCounter;
84
+ (request as any)._startTime = process.hrtime();
85
+ }
86
+
77
87
  export const LogMiddleware: ResponseMiddleware & RequestMiddleware = {
78
88
  handleRequest(request: Request) {
79
- (request as any)._uniqueIndex = requestCounter++;
80
- (request as any)._startTime = process.hrtime();
81
-
82
- if (request.method == 'OPTIONS') {
83
- if (STAMHOOFD.environment === 'development') {
84
- logger.log(
85
- ...requestPrefix(request),
86
- ...requestOneLiner(request),
87
- );
88
- }
89
- return;
90
- }
91
-
92
- logger.log(
93
- ...requestPrefix(request),
94
- ...requestOneLiner(request),
95
- );
89
+ assignIndex(request);
96
90
  },
97
91
 
98
92
  wrapRun<T>(run: () => Promise<T>, request: Request) {
93
+ assignIndex(request);
94
+
95
+ if (request.method !== 'OPTIONS' || STAMHOOFD.environment === 'development') {
96
+ logger.log(
97
+ ...requestPrefix(request, 'first'),
98
+ ...requestOneLiner(request),
99
+ );
100
+ }
101
+
99
102
  return logger.setContext({
100
103
  prefixes: requestPrefix(request, 'output'),
101
104
  tags: ['request', 'request-output'],
@@ -107,10 +110,13 @@ export const LogMiddleware: ResponseMiddleware & RequestMiddleware = {
107
110
  const startTime = (request as any)._startTime ?? endTime;
108
111
  const timeInMs = Math.round((endTime[0] - startTime[0]) * 1000 + (endTime[1] - startTime[1]) / 1000000);
109
112
 
113
+ const prefix = !error ? [] : requestPrefix(request, 'error');
114
+
110
115
  if (request.method !== 'OPTIONS') {
111
116
  logger.log(
112
- ...requestPrefix(request, 'time'),
113
- response.status + ' - Finished in ' + timeInMs + 'ms',
117
+ ...prefix,
118
+ new StyledText('HTTP ' + response.status).addClass('request', 'status-code'),
119
+ ' - Finished in ' + timeInMs + 'ms',
114
120
  );
115
121
  }
116
122
 
@@ -118,8 +124,10 @@ export const LogMiddleware: ResponseMiddleware & RequestMiddleware = {
118
124
  if (isSimpleError(error) || isSimpleErrors(error)) {
119
125
  if (!error.hasCode('expired_access_token') && !error.hasCode('unknown_domain') && !error.hasCode('unknown_webshop')) {
120
126
  logger.error(
121
- ...requestPrefix(request, 'error'),
122
- 'Request with error in response ',
127
+ ...prefix,
128
+ 'Request with error in response:',
129
+ );
130
+ logger.error(
123
131
  new StyledText(error).addClass('request', 'error'),
124
132
  );
125
133
 
@@ -128,8 +136,12 @@ export const LogMiddleware: ResponseMiddleware & RequestMiddleware = {
128
136
  }
129
137
  else {
130
138
  logger.error(
131
- ...requestPrefix(request, 'error'),
132
- 'Request with internal error ',
139
+ ...prefix,
140
+ 'Request with internal error:',
141
+ );
142
+
143
+ logger.error(
144
+ ...prefix,
133
145
  new StyledText(error).addClass('request', 'error'),
134
146
  );
135
147