Skip to content

Commit 81c352d

Browse files
authored
fix: Reduces logging of client errors (#764)
1 parent c5c7b9f commit 81c352d

6 files changed

Lines changed: 8 additions & 74 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"http-status-codes": "^2.0.0",
5656
"install": "^0.13.0",
5757
"ioredis": "^4.14.0",
58-
"jscommons": "^3.0.0",
58+
"jscommons": "^3.0.1",
5959
"jsonwebtoken": "^8.5.1",
6060
"lodash": "^4.17.4",
6161
"mime-types": "2.1.29",

src/apps/activities/expressPresenter/utils/handleError.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,53 +24,43 @@ export interface Options extends CommonOptions {
2424
}
2525

2626
export default ({ config, errorId, res, err }: Options): Response => {
27-
const { logger, translator } = config;
28-
const logError = (msg: string, meta?: any) => {
29-
logger.error(`${errorId}: xapi-activities handled - ${msg}`, meta);
30-
};
27+
const { translator } = config;
3128

3229
res.setHeader('X-Experience-API-Version', xapiHeaderVersion);
3330

3431
if (err instanceof JsonSyntaxError) {
3532
const code = StatusCodes.BAD_REQUEST;
3633
const message = translator.jsonSyntaxError(err);
37-
logError(message);
3834
return sendMessage({ res, code, errorId, message });
3935
}
4036
if (err instanceof MissingEtags) {
4137
const code = StatusCodes.BAD_REQUEST;
4238
const message = translator.missingEtagsError(err);
43-
logError(message);
4439
return sendMessage({ res, code, errorId, message });
4540
}
4641
if (err instanceof MaxEtags) {
4742
const code = StatusCodes.BAD_REQUEST;
4843
const message = translator.maxEtagsError(err);
49-
logError(message);
5044
return sendMessage({ res, code, errorId, message });
5145
}
5246
if (err instanceof Conflict) {
5347
const code = StatusCodes.CONFLICT;
5448
const message = translator.conflictError(err);
55-
logError(message);
5649
return sendMessage({ res, code, errorId, message });
5750
}
5851
if (err instanceof IfMatch) {
5952
const code = StatusCodes.PRECONDITION_FAILED;
6053
const message = translator.ifMatchError(err);
61-
logError(message);
6254
return sendMessage({ res, code, errorId, message });
6355
}
6456
if (err instanceof IfNoneMatch) {
6557
const code = StatusCodes.PRECONDITION_FAILED;
6658
const message = translator.ifNoneMatchError(err);
67-
logError(message);
6859
return sendMessage({ res, code, errorId, message });
6960
}
7061
if (err instanceof NonJsonObject) {
7162
const code = StatusCodes.BAD_REQUEST;
7263
const message = translator.nonJsonObjectError(err);
73-
logError(message);
7464
return sendMessage({ res, code, errorId, message });
7565
}
7666
if (err instanceof Warnings) {
@@ -80,25 +70,21 @@ export default ({ config, errorId, res, err }: Options): Response => {
8070
return translateWarning(translator, warning);
8171
});
8272
const obj = { warnings: strWarnings };
83-
logError('Validation warnings', strWarnings);
8473
return sendObject({ res, code, errorId, obj });
8574
}
8675
if (err instanceof InvalidMethod) {
8776
const code = StatusCodes.BAD_REQUEST;
8877
const message = translator.invalidMethodError(err);
89-
logError(message);
9078
return sendMessage({ res, code, errorId, message });
9179
}
9280
if (err instanceof ExpiredClientError) {
9381
const code = StatusCodes.FORBIDDEN;
9482
const message = translator.expiredClientError(err);
95-
logError(message);
9683
return sendMessage({ res, code, errorId, message });
9784
}
9885
if (err instanceof UntrustedClientError) {
9986
const code = StatusCodes.FORBIDDEN;
10087
const message = translator.untrustedClientError(err);
101-
logError(message);
10288
return sendMessage({ res, code, errorId, message });
10389
}
10490
return commonErrorHandler({ config, errorId, res, err });

src/apps/agents/expressPresenter/utils/handleError.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,53 +24,43 @@ export interface Options extends CommonOptions {
2424
}
2525

2626
export default ({ config, errorId, res, err }: Options): Response => {
27-
const { logger, translator } = config;
28-
const logError = (msg: string, meta?: any) => {
29-
logger.error(`${errorId}: xapi-agents handled - ${msg}`, meta);
30-
};
27+
const { translator } = config;
3128

3229
res.setHeader('X-Experience-API-Version', xapiHeaderVersion);
3330

3431
if (err instanceof MissingEtags) {
3532
const code = StatusCodes.BAD_REQUEST;
3633
const message = translator.missingEtagsError(err);
37-
logError(message);
3834
return sendMessage({ res, code, errorId, message });
3935
}
4036
if (err instanceof JsonSyntaxError) {
4137
const code = StatusCodes.BAD_REQUEST;
4238
const message = translator.jsonSyntaxError(err);
43-
logError(message);
4439
return sendMessage({ res, code, errorId, message });
4540
}
4641
if (err instanceof MaxEtags) {
4742
const code = StatusCodes.BAD_REQUEST;
4843
const message = translator.maxEtagsError(err);
49-
logError(message);
5044
return sendMessage({ res, code, errorId, message });
5145
}
5246
if (err instanceof Conflict) {
5347
const code = StatusCodes.CONFLICT;
5448
const message = translator.conflictError(err);
55-
logError(message);
5649
return sendMessage({ res, code, errorId, message });
5750
}
5851
if (err instanceof IfMatch) {
5952
const code = StatusCodes.PRECONDITION_FAILED;
6053
const message = translator.ifMatchError(err);
61-
logError(message);
6254
return sendMessage({ res, code, errorId, message });
6355
}
6456
if (err instanceof IfNoneMatch) {
6557
const code = StatusCodes.PRECONDITION_FAILED;
6658
const message = translator.ifNoneMatchError(err);
67-
logError(message);
6859
return sendMessage({ res, code, errorId, message });
6960
}
7061
if (err instanceof NonJsonObject) {
7162
const code = StatusCodes.BAD_REQUEST;
7263
const message = translator.nonJsonObjectError(err);
73-
logError(message);
7464
return sendMessage({ res, code, errorId, message });
7565
}
7666
if (err instanceof Warnings) {
@@ -80,25 +70,21 @@ export default ({ config, errorId, res, err }: Options): Response => {
8070
return translateWarning(translator, warning);
8171
});
8272
const obj = { warnings: strWarnings };
83-
logError('Validation warnings', strWarnings);
8473
return sendObject({ res, code, errorId, obj });
8574
}
8675
if (err instanceof InvalidMethod) {
8776
const code = StatusCodes.BAD_REQUEST;
8877
const message = translator.invalidMethodError(err);
89-
logError(message);
9078
return sendMessage({ res, code, errorId, message });
9179
}
9280
if (err instanceof ExpiredClientError) {
9381
const code = StatusCodes.FORBIDDEN;
9482
const message = translator.expiredClientError(err);
95-
logError(message);
9683
return sendMessage({ res, code, errorId, message });
9784
}
9885
if (err instanceof UntrustedClientError) {
9986
const code = StatusCodes.FORBIDDEN;
10087
const message = translator.untrustedClientError(err);
101-
logError(message);
10288
return sendMessage({ res, code, errorId, message });
10389
}
10490
return commonErrorHandler({ config, errorId, res, err });

src/apps/statements/expressPresenter/utils/handleError.ts

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,38 +53,32 @@ export default ({ config, errorId, res, err }: Options): Response => {
5353
if (err instanceof InvalidSignatureAlgorithm) {
5454
const code = StatusCodes.BAD_REQUEST;
5555
const message = translator.invalidSignatureAlgorithmError(err);
56-
logError(message);
5756
return sendMessage({ res, code, errorId, message });
5857
}
5958
if (err instanceof InvalidX5CType) {
6059
const code = StatusCodes.BAD_REQUEST;
6160
const message = translator.invalidX5CTypeError(err);
62-
logError(message);
6361
return sendMessage({ res, code, errorId, message });
6462
}
6563
if (err instanceof InvalidX5CChain) {
6664
const code = StatusCodes.BAD_REQUEST;
6765
const message = translator.invalidX5CChainError(err);
68-
logError(message);
6966
return sendMessage({ res, code, errorId, message });
7067
}
7168
if (err instanceof InvalidJws) {
7269
const code = StatusCodes.BAD_REQUEST;
7370
const message = translator.invalidJwsError(err);
74-
logError(message);
7571
return sendMessage({ res, code, errorId, message });
7672
}
7773
if (err instanceof InvalidSignedStatement) {
7874
const code = StatusCodes.BAD_REQUEST;
7975
const message = translator.invalidSignedStatementError(err);
8076
const obj = { message, statement: err.originalStatement };
81-
logError(message);
8277
return sendObject({ res, code, errorId, obj });
8378
}
8479
if (err instanceof JsonSyntaxError) {
8580
const code = StatusCodes.BAD_REQUEST;
8681
const message = translator.jsonSyntaxError(err);
87-
logError(message);
8882
return sendMessage({ res, code, errorId, message });
8983
}
9084
if (err instanceof ChangedStatementRef) {
@@ -96,67 +90,56 @@ export default ({ config, errorId, res, err }: Options): Response => {
9690
if (err instanceof Conflict) {
9791
const code = 409;
9892
const message = translator.conflictError(err);
99-
logError(message);
10093
return sendMessage({ res, code, errorId, message });
10194
}
10295
if (err instanceof DataBeforeFirstBoundary) {
10396
const code = StatusCodes.BAD_REQUEST;
10497
const message = translator.dataBeforeFirstBoundaryError(err);
105-
logError(message);
10698
return sendMessage({ res, code, errorId, message });
10799
}
108100
if (err instanceof DataBeyondFinalBoundary) {
109101
const code = StatusCodes.BAD_REQUEST;
110102
const message = translator.dataBeyondFinalBoundaryError(err);
111-
logError(message);
112103
return sendMessage({ res, code, errorId, message });
113104
}
114105
if (err instanceof DuplicateId) {
115106
const code = StatusCodes.BAD_REQUEST;
116107
const message = translator.duplicateIdError(err);
117-
logError(message);
118108
return sendMessage({ res, code, errorId, message });
119109
}
120110
if (err instanceof ExtraAttachments) {
121111
const code = StatusCodes.BAD_REQUEST;
122112
const message = translator.extraAttachmentsError(err);
123-
logError(message);
124113
return sendMessage({ res, code, errorId, message });
125114
}
126115
if (err instanceof InvalidBoundary) {
127116
const code = StatusCodes.BAD_REQUEST;
128117
const message = translator.invalidBoundaryError(err);
129-
logError(message);
130118
return sendMessage({ res, code, errorId, message });
131119
}
132120
if (err instanceof InvalidContentType) {
133121
const code = StatusCodes.BAD_REQUEST;
134122
const message = translator.invalidContentTypeError(err);
135-
logError(message);
136123
return sendMessage({ res, code, errorId, message });
137124
}
138125
if (err instanceof InvalidContentTransferEncoding) {
139126
const code = StatusCodes.BAD_REQUEST;
140127
const message = translator.invalidContentTransferEncodingError(err);
141-
logError(message);
142128
return sendMessage({ res, code, errorId, message });
143129
}
144130
if (err instanceof InvalidMethod) {
145131
const code = StatusCodes.BAD_REQUEST;
146132
const message = translator.invalidMethodError(err);
147-
logError(message);
148133
return sendMessage({ res, code, errorId, message });
149134
}
150135
if (err instanceof InvalidVoidType) {
151136
const code = StatusCodes.BAD_REQUEST;
152137
const message = translator.invalidVoidTypeError(err);
153-
logError(message);
154138
return sendMessage({ res, code, errorId, message });
155139
}
156140
if (err instanceof MissingAttachments) {
157141
const code = StatusCodes.BAD_REQUEST;
158142
const message = translator.missingAttachmentsError(err);
159-
logError(message);
160143
return sendMessage({ res, code, errorId, message });
161144
}
162145
if (err instanceof MissingLoadedId) {
@@ -168,37 +151,31 @@ export default ({ config, errorId, res, err }: Options): Response => {
168151
if (err instanceof MissingStatementId) {
169152
const code = StatusCodes.BAD_REQUEST;
170153
const message = translator.missingStatementIdError(err);
171-
logError(message);
172154
return sendMessage({ res, code, errorId, message });
173155
}
174156
if (err instanceof NoStatements) {
175157
const code = StatusCodes.BAD_REQUEST;
176158
const message = translator.noStatementsError(err);
177-
logError(message);
178159
return sendMessage({ res, code, errorId, message });
179160
}
180161
if (err instanceof QueryIds) {
181162
const code = StatusCodes.BAD_REQUEST;
182163
const message = translator.queryIdsError(err);
183-
logError(message);
184164
return sendMessage({ res, code, errorId, message });
185165
}
186166
if (err instanceof UnknownParams) {
187167
const code = StatusCodes.BAD_REQUEST;
188168
const message = translator.unknownParamsError(err);
189-
logError(message);
190169
return sendMessage({ res, code, errorId, message });
191170
}
192171
if (err instanceof UnequalStatementId) {
193172
const code = StatusCodes.BAD_REQUEST;
194173
const message = translator.unequalStatementIdError(err);
195-
logError(message);
196174
return sendMessage({ res, code, errorId, message });
197175
}
198176
if (err instanceof VoidingError) {
199177
const code = StatusCodes.BAD_REQUEST;
200178
const message = translator.voidingErrorError(err);
201-
logError(message);
202179
return sendMessage({ res, code, errorId, message });
203180
}
204181
if (err instanceof ExpiredClientError) {

src/apps/states/expressPresenter/utils/handleError.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,18 @@ export interface Options extends CommonOptions {
1919
}
2020

2121
export default ({ config, errorId, res, err }: Options): Response => {
22-
const { logger, translator } = config;
23-
const logError = (msg: string, meta?: any) => {
24-
logger.error(`${errorId}: xapi-state handled - ${msg}`, meta);
25-
};
22+
const { translator } = config;
2623

2724
res.setHeader('X-Experience-API-Version', xapiHeaderVersion);
2825

2926
if (err instanceof JsonSyntaxError) {
3027
const code = StatusCodes.BAD_REQUEST;
3128
const message = translator.jsonSyntaxError(err);
32-
logError(message);
3329
return sendMessage({ res, code, errorId, message });
3430
}
3531
if (err instanceof NonJsonObject) {
3632
const code = StatusCodes.BAD_REQUEST;
3733
const message = translator.nonJsonObjectError(err);
38-
logError(message);
3934
return sendMessage({ res, code, errorId, message });
4035
}
4136
if (err instanceof Warnings) {
@@ -45,13 +40,11 @@ export default ({ config, errorId, res, err }: Options): Response => {
4540
return translateWarning(translator, warning);
4641
});
4742
const obj = { warnings: strWarnings };
48-
logError('Validation warnings', strWarnings);
4943
return sendObject({ res, code, errorId, obj });
5044
}
5145
if (err instanceof InvalidMethod) {
5246
const code = StatusCodes.BAD_REQUEST;
5347
const message = translator.invalidMethodError(err);
54-
logError(message);
5548
return sendMessage({ res, code, errorId, message });
5649
}
5750
if (err instanceof ExpiredClientError) {

0 commit comments

Comments
 (0)