@middy/http-event-normalizer 4.6.5 → 5.0.0-alpha.1
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.
- package/index.js +42 -34
- package/package.json +4 -10
- package/index.cjs +0 -46
package/index.js
CHANGED
|
@@ -1,36 +1,44 @@
|
|
|
1
|
-
const httpEventNormalizerMiddleware = ()=>{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
const httpEventNormalizerMiddleware = () => {
|
|
2
|
+
const httpEventNormalizerMiddlewareBefore = async (request) => {
|
|
3
|
+
const { event } = request
|
|
4
|
+
|
|
5
|
+
const version = pickVersion(event)
|
|
6
|
+
const isHttpEvent = isVersionHttpEvent[version]?.(event)
|
|
7
|
+
if (!isHttpEvent) {
|
|
8
|
+
throw new Error('Unknown http event format', {
|
|
9
|
+
cause: { package: '@middy/http-event-normalizer' }
|
|
10
|
+
})
|
|
11
|
+
}
|
|
12
|
+
// VPC Lattice is an http event, however uses a different notation
|
|
13
|
+
// - query_string_parameters
|
|
14
|
+
// - is_base64_encoded
|
|
15
|
+
|
|
16
|
+
if (version === '1.0') {
|
|
17
|
+
event.multiValueQueryStringParameters ??= {}
|
|
18
|
+
} else if (version === 'vpc') {
|
|
19
|
+
event.queryStringParameters = event.query_string_parameters
|
|
20
|
+
event.isBase64Encoded = event.is_base64_encoded
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// event.headers ??= {} // Will always have at least one header
|
|
24
|
+
event.pathParameters ??= {}
|
|
25
|
+
event.queryStringParameters ??= {}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
before: httpEventNormalizerMiddlewareBefore
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const pickVersion = (event) => {
|
|
34
|
+
// '1.0' is a safer default
|
|
35
|
+
return event.version ?? (event.method ? 'vpc' : '1.0')
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
const isVersionHttpEvent = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
export default httpEventNormalizerMiddleware;
|
|
39
|
+
'1.0': (event) => typeof event.httpMethod !== 'undefined',
|
|
40
|
+
'2.0': (event) => typeof event.requestContext.http.method !== 'undefined',
|
|
41
|
+
vpc: (event) => typeof event.method !== 'undefined'
|
|
42
|
+
}
|
|
36
43
|
|
|
44
|
+
export default httpEventNormalizerMiddleware
|
package/package.json
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@middy/http-event-normalizer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-alpha.1",
|
|
4
4
|
"description": "Http event normalizer middleware for the middy framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=18"
|
|
8
8
|
},
|
|
9
9
|
"engineStrict": true,
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
|
-
"main": "./index.cjs",
|
|
14
13
|
"module": "./index.js",
|
|
15
14
|
"exports": {
|
|
16
15
|
".": {
|
|
17
16
|
"import": {
|
|
18
17
|
"types": "./index.d.ts",
|
|
19
18
|
"default": "./index.js"
|
|
20
|
-
},
|
|
21
|
-
"require": {
|
|
22
|
-
"types": "./index.d.ts",
|
|
23
|
-
"default": "./index.cjs"
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
21
|
},
|
|
27
22
|
"types": "index.d.ts",
|
|
28
23
|
"files": [
|
|
29
24
|
"index.js",
|
|
30
|
-
"index.cjs",
|
|
31
25
|
"index.d.ts"
|
|
32
26
|
],
|
|
33
27
|
"scripts": {
|
|
@@ -65,9 +59,9 @@
|
|
|
65
59
|
"type": "github",
|
|
66
60
|
"url": "https://github.com/sponsors/willfarrell"
|
|
67
61
|
},
|
|
68
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "ebce8d5df8783077fa49ba62ee9be20e8486a7f1",
|
|
69
63
|
"devDependencies": {
|
|
70
|
-
"@middy/core": "
|
|
64
|
+
"@middy/core": "5.0.0-alpha.1",
|
|
71
65
|
"@types/aws-lambda": "^8.10.101"
|
|
72
66
|
}
|
|
73
67
|
}
|
package/index.cjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(module, "exports", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const httpEventNormalizerMiddleware = ()=>{
|
|
12
|
-
const httpEventNormalizerMiddlewareBefore = async (request)=>{
|
|
13
|
-
const { event } = request;
|
|
14
|
-
const version = pickVersion(event);
|
|
15
|
-
const isHttpEvent = isVersionHttpEvent[version]?.(event);
|
|
16
|
-
if (!isHttpEvent) {
|
|
17
|
-
throw new Error('[http-event-normalizer] Unknown http event format');
|
|
18
|
-
}
|
|
19
|
-
// VPC Lattice is an http event, however uses a different notation
|
|
20
|
-
// - query_string_parameters
|
|
21
|
-
// - is_base64_encoded
|
|
22
|
-
if (version === '1.0') {
|
|
23
|
-
event.multiValueQueryStringParameters ??= {};
|
|
24
|
-
} else if (version === 'vpc') {
|
|
25
|
-
event.queryStringParameters = event.query_string_parameters;
|
|
26
|
-
event.isBase64Encoded = event.is_base64_encoded;
|
|
27
|
-
}
|
|
28
|
-
// event.headers ??= {} // Will always have at least one header
|
|
29
|
-
event.pathParameters ??= {};
|
|
30
|
-
event.queryStringParameters ??= {};
|
|
31
|
-
};
|
|
32
|
-
return {
|
|
33
|
-
before: httpEventNormalizerMiddlewareBefore
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
const pickVersion = (event)=>{
|
|
37
|
-
// '1.0' is a safer default
|
|
38
|
-
return event.version ?? (event.method ? 'vpc' : '1.0');
|
|
39
|
-
};
|
|
40
|
-
const isVersionHttpEvent = {
|
|
41
|
-
'1.0': (event)=>typeof event.httpMethod !== 'undefined',
|
|
42
|
-
'2.0': (event)=>typeof event.requestContext.http.method !== 'undefined',
|
|
43
|
-
vpc: (event)=>typeof event.method !== 'undefined'
|
|
44
|
-
};
|
|
45
|
-
const _default = httpEventNormalizerMiddleware;
|
|
46
|
-
|