Skip to content

Commit 81d7e4a

Browse files
committed
refactor: Seclude isApiEvent util
1 parent 52d1ca8 commit 81d7e4a

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
const awsLambdaSpan = require('./sdk').traceSpans.awsLambda;
4+
5+
const apiEventTypes = new Set([
6+
'aws.apigateway.rest',
7+
'aws.apigatewayv2.http.v1',
8+
'aws.apigatewayv2.http.v2',
9+
'aws.lambda.url',
10+
]);
11+
12+
module.exports = () => apiEventTypes.has(awsLambdaSpan.tags.get('aws.lambda.event_type'));
Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,22 @@
11
'use strict';
22

33
const coerceNaturalNumber = require('type/natural-number/coerce');
4+
const isApiEvent = require('./is-api-event');
45

56
const awsLambdaSpan = require('./sdk').traceSpans.awsLambda;
67

78
module.exports = (response) => {
8-
switch (awsLambdaSpan.tags.get('aws.lambda.event_type')) {
9-
case 'aws.apigateway.rest':
10-
case 'aws.apigatewayv2.http.v1':
11-
case 'aws.apigatewayv2.http.v2':
12-
case 'aws.lambda.url':
13-
{
14-
let statusCode = response && response.statusCode;
15-
if (statusCode == null) {
16-
awsLambdaSpan.tags.set('aws.lambda.http.error_code', 'MISSING_STATUS_CODE');
17-
break;
18-
}
19-
if (typeof statusCode === 'string') statusCode = Number(statusCode);
20-
if (
21-
coerceNaturalNumber(statusCode) === statusCode &&
22-
statusCode >= 100 &&
23-
statusCode < 600
24-
) {
25-
awsLambdaSpan.tags.set('aws.lambda.http.status_code', statusCode);
26-
} else {
27-
awsLambdaSpan.tags.set('aws.lambda.http.error_code', 'INVALID_STATUS_CODE');
28-
}
29-
}
30-
break;
31-
default:
9+
if (isApiEvent()) {
10+
let statusCode = response && response.statusCode;
11+
if (statusCode == null) {
12+
awsLambdaSpan.tags.set('aws.lambda.http.error_code', 'MISSING_STATUS_CODE');
13+
return;
14+
}
15+
if (typeof statusCode === 'string') statusCode = Number(statusCode);
16+
if (coerceNaturalNumber(statusCode) === statusCode && statusCode >= 100 && statusCode < 600) {
17+
awsLambdaSpan.tags.set('aws.lambda.http.status_code', statusCode);
18+
} else {
19+
awsLambdaSpan.tags.set('aws.lambda.http.error_code', 'INVALID_STATUS_CODE');
20+
}
3221
}
3322
};

0 commit comments

Comments
 (0)