Skip to content

Commit 9cbcaed

Browse files
authored
Merge pull request #15 from Moesif/determine-event-version-when-version-donot-exist
Determine event version when version donot exist
2 parents f6cf72a + 2356e19 commit 9cbcaed

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

lib/index.js

+20-2
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ function constructBaseLogData(
304304
event.requestContext.http.method;
305305
}
306306

307-
logData.request.apiVerion = options.getApiVersion(event, context);
307+
logData.request.apiVersion = options.getApiVersion(event, context);
308308

309309
if (isV1) {
310310
logData.request.ipAddress =
@@ -364,6 +364,24 @@ function constructBaseLogData(
364364
return logData;
365365
}
366366

367+
function determineIsEventVersionV1(event) {
368+
if (event.version === '1.0') {
369+
return true;
370+
}
371+
372+
if (event.version === '2.0') {
373+
return false;
374+
}
375+
// per aws event spec https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
376+
// events suppose to have version specified.
377+
// For some reason, the version is not specified in some cases.
378+
// so we use heuristic below.
379+
if (event.httpMethod) {
380+
return true;
381+
}
382+
383+
return false;
384+
}
367385

368386
function logEvent(event, context, err, result, options, moesifController) {
369387
// v1 has httpMethod, v2 has requestContext
@@ -382,7 +400,7 @@ function logEvent(event, context, err, result, options, moesifController) {
382400
return Promise.resolve();
383401
}
384402

385-
const isV1 = event.version === '1.0';
403+
const isV1 = determineIsEventVersionV1(event);
386404

387405
var logData = constructBaseLogData(
388406
event,

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moesif-aws-lambda",
3-
"version": "1.3.1",
3+
"version": "1.3.2",
44
"description": "API Monitoring Middleware for AWS Lambda",
55
"main": "lib/index.js",
66
"keywords": [

0 commit comments

Comments
 (0)