@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.
Files changed (3) hide show
  1. package/index.js +42 -34
  2. package/package.json +4 -10
  3. package/index.cjs +0 -46
package/index.js CHANGED
@@ -1,36 +1,44 @@
1
- const httpEventNormalizerMiddleware = ()=>{
2
- const httpEventNormalizerMiddlewareBefore = async (request)=>{
3
- const { event } = request;
4
- const version = pickVersion(event);
5
- const isHttpEvent = isVersionHttpEvent[version]?.(event);
6
- if (!isHttpEvent) {
7
- throw new Error('[http-event-normalizer] Unknown http event format');
8
- }
9
- // VPC Lattice is an http event, however uses a different notation
10
- // - query_string_parameters
11
- // - is_base64_encoded
12
- if (version === '1.0') {
13
- event.multiValueQueryStringParameters ??= {};
14
- } else if (version === 'vpc') {
15
- event.queryStringParameters = event.query_string_parameters;
16
- event.isBase64Encoded = event.is_base64_encoded;
17
- }
18
- // event.headers ??= {} // Will always have at least one header
19
- event.pathParameters ??= {};
20
- event.queryStringParameters ??= {};
21
- };
22
- return {
23
- before: httpEventNormalizerMiddlewareBefore
24
- };
25
- };
26
- const pickVersion = (event)=>{
27
- // '1.0' is a safer default
28
- return event.version ?? (event.method ? 'vpc' : '1.0');
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
- '1.0': (event)=>typeof event.httpMethod !== 'undefined',
32
- '2.0': (event)=>typeof event.requestContext.http.method !== 'undefined',
33
- vpc: (event)=>typeof event.method !== 'undefined'
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": "4.6.5",
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": ">=16"
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": "573d7b0bb243d8c5a9bcb00cf29d031aa7a0c606",
62
+ "gitHead": "ebce8d5df8783077fa49ba62ee9be20e8486a7f1",
69
63
  "devDependencies": {
70
- "@middy/core": "4.6.5",
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
-