@middy/http-event-normalizer 3.0.0-alpha.5 → 3.0.0-alpha.8
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/README.md +26 -18
- package/index.cjs +3 -0
- package/index.js +2 -31
- package/package.json +12 -5
package/README.md
CHANGED
|
@@ -1,26 +1,36 @@
|
|
|
1
|
-
# Middy http-event-normalizer middleware
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
<img alt="Middy logo" src="https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.png"/>
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
1
|
<div align="center">
|
|
2
|
+
<h1>Middy http-event-normalizer middleware</h1>
|
|
3
|
+
<img alt="Middy logo" src="https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.svg"/>
|
|
8
4
|
<p><strong>HTTP error handler middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda</strong></p>
|
|
9
|
-
</div>
|
|
10
|
-
|
|
11
|
-
<div align="center">
|
|
12
5
|
<p>
|
|
13
|
-
<a href="
|
|
6
|
+
<a href="https://www.npmjs.com/package/@middy/http-event-normalizer?activeTab=versions">
|
|
14
7
|
<img src="https://badge.fury.io/js/%40middy%2Fhttp-event-normalizer.svg" alt="npm version" style="max-width:100%;">
|
|
15
8
|
</a>
|
|
9
|
+
<a href="https://packagephobia.com/result?p=@middy/http-event-normalizer">
|
|
10
|
+
<img src="https://packagephobia.com/badge?p=@middy/http-event-normalizer" alt="npm install size" style="max-width:100%;">
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/middyjs/middy/actions">
|
|
13
|
+
<img src="https://github.com/middyjs/middy/workflows/Tests/badge.svg" alt="GitHub Actions test status badge" style="max-width:100%;">
|
|
14
|
+
</a>
|
|
15
|
+
<br/>
|
|
16
|
+
<a href="https://standardjs.com/">
|
|
17
|
+
<img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard Code Style" style="max-width:100%;">
|
|
18
|
+
</a>
|
|
16
19
|
<a href="https://snyk.io/test/github/middyjs/middy">
|
|
17
20
|
<img src="https://snyk.io/test/github/middyjs/middy/badge.svg" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/middyjs/middy" style="max-width:100%;">
|
|
18
21
|
</a>
|
|
19
|
-
<a href="https://
|
|
20
|
-
<img src="https://img.shields.io/
|
|
22
|
+
<a href="https://lgtm.com/projects/g/middyjs/middy/context:javascript">
|
|
23
|
+
<img src="https://img.shields.io/lgtm/grade/javascript/g/middyjs/middy.svg?logo=lgtm&logoWidth=18" alt="Language grade: JavaScript" style="max-width:100%;">
|
|
21
24
|
</a>
|
|
25
|
+
<a href="https://bestpractices.coreinfrastructure.org/projects/5280">
|
|
26
|
+
<img src="https://bestpractices.coreinfrastructure.org/projects/5280/badge" alt="Core Infrastructure Initiative (CII) Best Practices" style="max-width:100%;">
|
|
27
|
+
</a>
|
|
28
|
+
<br/>
|
|
22
29
|
<a href="https://gitter.im/middyjs/Lobby">
|
|
23
|
-
<img src="https://badges.gitter.im/gitterHQ/gitter.svg" alt="Chat on Gitter"
|
|
30
|
+
<img src="https://badges.gitter.im/gitterHQ/gitter.svg" alt="Chat on Gitter" style="max-width:100%;">
|
|
31
|
+
</a>
|
|
32
|
+
<a href="https://stackoverflow.com/questions/tagged/middy?sort=Newest&uqlId=35052">
|
|
33
|
+
<img src="https://img.shields.io/badge/StackOverflow-[middy]-yellow" alt="Ask questions on StackOverflow" style="max-width:100%;">
|
|
24
34
|
</a>
|
|
25
35
|
</p>
|
|
26
36
|
</div>
|
|
@@ -38,7 +48,7 @@ This middleware normalizes the API Gateway event, making sure that an object for
|
|
|
38
48
|
`queryStringParameters`, `multiValueQueryStringParameters` and `pathParameters` is always available (resulting in empty objects
|
|
39
49
|
when no parameter is available), this way you don't have to worry about adding extra `if`
|
|
40
50
|
statements before trying to read a property and calling `event.pathParameters.userId` will
|
|
41
|
-
result in `undefined` when no path parameter is available, but not
|
|
51
|
+
result in `undefined` when no path parameter is available, but not return an error.
|
|
42
52
|
|
|
43
53
|
> Important note : API Gateway HTTP API format 2.0 doesn't have `multiValueQueryStringParameters` fields. Duplicate query strings are combined with commas and included in the `queryStringParameters` field.
|
|
44
54
|
|
|
@@ -53,9 +63,7 @@ npm install --save @middy/http-event-normalizer
|
|
|
53
63
|
|
|
54
64
|
|
|
55
65
|
## Options
|
|
56
|
-
|
|
57
|
-
- payloadFormatVersion (number) (optional): Defaults to `1 ` for API Gateway REST API v1 or Application Load Balancer (ALB) event payload. Set it to `2` to use API Gateway HTTP API v2 event payload.
|
|
58
|
-
|
|
66
|
+
None
|
|
59
67
|
|
|
60
68
|
## Sample usage
|
|
61
69
|
|
|
@@ -64,7 +72,7 @@ import middy from '@middy/core'
|
|
|
64
72
|
import httpEventNormalizer from '@middy/http-event-normalizer'
|
|
65
73
|
|
|
66
74
|
const handler = middy((event, context) => {
|
|
67
|
-
console.log(`Hello user ${event.pathParameters.userId}`)
|
|
75
|
+
console.log(`Hello user ${event.pathParameters.userId}`)
|
|
68
76
|
return {}
|
|
69
77
|
})
|
|
70
78
|
|
package/index.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _event,_event1,_event2;const httpEventNormalizerMiddleware=()=>{const httpEventNormalizerMiddlewareBefore=async request=>{const{event}=request;const version=event.version??"1.0";const isHttpEvent=isVersionHttpEvent[version]?.(event);if(!isHttpEvent){throw new Error("[http-event-normalizer] Unknown http event format")}(_event=event).queryStringParameters??(_event.queryStringParameters={});(_event1=event).pathParameters??(_event1.pathParameters={});if(version==="1.0"){(_event2=event).multiValueQueryStringParameters??(_event2.multiValueQueryStringParameters={})}};return{before:httpEventNormalizerMiddlewareBefore}};const isVersionHttpEvent={"1.0":event=>event.httpMethod!==undefined,"2.0":event=>event.requestContext.http.method!==undefined};var _default=httpEventNormalizerMiddleware;exports.default=_default
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=index.cjs.map
|
package/index.js
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
const httpEventNormalizerMiddleware = () =>
|
|
2
|
-
const httpEventNormalizerMiddlewareBefore = async request => {
|
|
3
|
-
var _isVersionHttpEvent$v;
|
|
1
|
+
var _event,_event1,_event2;const httpEventNormalizerMiddleware=()=>{const httpEventNormalizerMiddlewareBefore=async request=>{const{event}=request;const version=event.version??"1.0";const isHttpEvent=isVersionHttpEvent[version]?.(event);if(!isHttpEvent){throw new Error("[http-event-normalizer] Unknown http event format")}(_event=event).queryStringParameters??(_event.queryStringParameters={});(_event1=event).pathParameters??(_event1.pathParameters={});if(version==="1.0"){(_event2=event).multiValueQueryStringParameters??(_event2.multiValueQueryStringParameters={})}};return{before:httpEventNormalizerMiddlewareBefore}};const isVersionHttpEvent={"1.0":event=>event.httpMethod!==undefined,"2.0":event=>event.requestContext.http.method!==undefined};export default httpEventNormalizerMiddleware
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
event
|
|
7
|
-
} = request;
|
|
8
|
-
const version = event.version ?? '1.0';
|
|
9
|
-
const isHttpEvent = (_isVersionHttpEvent$v = isVersionHttpEvent[version]) === null || _isVersionHttpEvent$v === void 0 ? void 0 : _isVersionHttpEvent$v.call(isVersionHttpEvent, event);
|
|
10
|
-
|
|
11
|
-
if (!isHttpEvent) {
|
|
12
|
-
throw new Error('Unknown API Gateway Payload format');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
event.queryStringParameters ?? (event.queryStringParameters = {});
|
|
16
|
-
event.pathParameters ?? (event.pathParameters = {});
|
|
17
|
-
|
|
18
|
-
if (version === '1.0') {
|
|
19
|
-
event.multiValueQueryStringParameters ?? (event.multiValueQueryStringParameters = {});
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
before: httpEventNormalizerMiddlewareBefore
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const isVersionHttpEvent = {
|
|
29
|
-
'1.0': event => event.httpMethod !== undefined,
|
|
30
|
-
'2.0': event => event.requestContext.http.method !== undefined
|
|
31
|
-
};
|
|
32
|
-
export default httpEventNormalizerMiddleware;
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@middy/http-event-normalizer",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.8",
|
|
4
4
|
"description": "Http event normalizer middleware for the middy framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -10,10 +10,17 @@
|
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
|
-
"exports":
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"import": "./index.js",
|
|
16
|
+
"require": "./index.cjs",
|
|
17
|
+
"types": "./index.d.ts"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
14
20
|
"types": "index.d.ts",
|
|
15
21
|
"files": [
|
|
16
22
|
"index.js",
|
|
23
|
+
"index.cjs",
|
|
17
24
|
"index.d.ts"
|
|
18
25
|
],
|
|
19
26
|
"scripts": {
|
|
@@ -46,9 +53,9 @@
|
|
|
46
53
|
"bugs": {
|
|
47
54
|
"url": "https://github.com/middyjs/middy/issues"
|
|
48
55
|
},
|
|
49
|
-
"homepage": "https://
|
|
50
|
-
"gitHead": "
|
|
56
|
+
"homepage": "https://middy.js.org",
|
|
57
|
+
"gitHead": "c04b3a0c2f326906b34973878d6f823778a5ea99",
|
|
51
58
|
"devDependencies": {
|
|
52
|
-
"@middy/core": "^3.0.0-alpha.
|
|
59
|
+
"@middy/core": "^3.0.0-alpha.8"
|
|
53
60
|
}
|
|
54
61
|
}
|