@middy/http-json-body-parser 5.0.0-alpha.1 → 5.0.0-alpha.2

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 (2) hide show
  1. package/index.js +42 -42
  2. package/package.json +3 -3
package/index.js CHANGED
@@ -1,44 +1,44 @@
1
- import { createError } from '@middy/util'
2
-
3
- const mimePattern = /^application\/(.+\+)?json($|;.+)/
4
-
1
+ import { createError } from '@middy/util';
2
+ const mimePattern = /^application\/(.+\+)?json($|;.+)/;
5
3
  const defaults = {
6
- reviver: undefined,
7
- disableContentTypeError: false
8
- }
9
-
10
- const httpJsonBodyParserMiddleware = (opts = {}) => {
11
- const options = { ...defaults, ...opts }
12
- const httpJsonBodyParserMiddlewareBefore = async (request) => {
13
- const { headers, body } = request.event
14
-
15
- const contentType = headers?.['Content-Type'] ?? headers?.['content-type']
16
-
17
- if (!mimePattern.test(contentType)) {
18
- if (options.disableContentTypeError) {
19
- return
20
- }
21
- throw createError(415, 'Unsupported Media Type', {
22
- cause: { package: '@middy/http-json-body-parser', data: contentType }
23
- })
24
- }
25
-
26
- try {
27
- const data = request.event.isBase64Encoded
28
- ? Buffer.from(body, 'base64').toString()
29
- : body
30
-
31
- request.event.body = JSON.parse(data, options.reviver)
32
- } catch (err) {
33
- // UnprocessableEntity
34
- throw createError(415, 'Invalid or malformed JSON was provided', {
35
- cause: { package: '@middy/http-json-body-parser', data: err }
36
- })
37
- }
38
- }
4
+ reviver: undefined,
5
+ disableContentTypeError: false
6
+ };
7
+ const httpJsonBodyParserMiddleware = (opts = {})=>{
8
+ const options = {
9
+ ...defaults,
10
+ ...opts
11
+ };
12
+ const httpJsonBodyParserMiddlewareBefore = async (request)=>{
13
+ const { headers, body } = request.event;
14
+ const contentType = headers?.['Content-Type'] ?? headers?.['content-type'];
15
+ if (!mimePattern.test(contentType)) {
16
+ if (options.disableContentTypeError) {
17
+ return;
18
+ }
19
+ throw createError(415, 'Unsupported Media Type', {
20
+ cause: {
21
+ package: '@middy/http-json-body-parser',
22
+ data: contentType
23
+ }
24
+ });
25
+ }
26
+ try {
27
+ const data = request.event.isBase64Encoded ? Buffer.from(body, 'base64').toString() : body;
28
+ request.event.body = JSON.parse(data, options.reviver);
29
+ } catch (err) {
30
+ // UnprocessableEntity
31
+ throw createError(415, 'Invalid or malformed JSON was provided', {
32
+ cause: {
33
+ package: '@middy/http-json-body-parser',
34
+ data: err
35
+ }
36
+ });
37
+ }
38
+ };
39
+ return {
40
+ before: httpJsonBodyParserMiddlewareBefore
41
+ };
42
+ };
43
+ export default httpJsonBodyParserMiddleware;
39
44
 
40
- return {
41
- before: httpJsonBodyParserMiddlewareBefore
42
- }
43
- }
44
- export default httpJsonBodyParserMiddleware
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/http-json-body-parser",
3
- "version": "5.0.0-alpha.1",
3
+ "version": "5.0.0-alpha.2",
4
4
  "description": "Http JSON body parser middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -62,10 +62,10 @@
62
62
  "url": "https://github.com/sponsors/willfarrell"
63
63
  },
64
64
  "dependencies": {
65
- "@middy/util": "5.0.0-alpha.1"
65
+ "@middy/util": "5.0.0-alpha.2"
66
66
  },
67
67
  "devDependencies": {
68
- "@middy/core": "5.0.0-alpha.1",
68
+ "@middy/core": "5.0.0-alpha.2",
69
69
  "@types/aws-lambda": "^8.10.101",
70
70
  "type-fest": "^4.0.0"
71
71
  },