@middy/http-content-negotiation 2.5.6 → 2.5.7

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 +44 -61
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,15 +1,19 @@
1
- const charset = require('negotiator/lib/charset.js')
2
- const encoding = require('negotiator/lib/encoding.js')
3
- const language = require('negotiator/lib/language.js')
4
- const mediaType = require('negotiator/lib/mediaType.js')
1
+ "use strict";
2
+
3
+ const charset = require('negotiator/lib/charset.js');
4
+
5
+ const encoding = require('negotiator/lib/encoding.js');
6
+
7
+ const language = require('negotiator/lib/language.js');
8
+
9
+ const mediaType = require('negotiator/lib/mediaType.js');
5
10
 
6
11
  const parseFn = {
7
12
  Charset: charset,
8
13
  Encoding: encoding,
9
14
  Language: language,
10
15
  MediaType: mediaType
11
- }
12
-
16
+ };
13
17
  const defaults = {
14
18
  parseCharsets: true,
15
19
  availableCharsets: undefined,
@@ -20,79 +24,58 @@ const defaults = {
20
24
  parseMediaTypes: true,
21
25
  availableMediaTypes: undefined,
22
26
  failOnMismatch: true
23
- }
27
+ };
24
28
 
25
29
  const httpContentNegotiationMiddleware = (opts = {}) => {
26
- const options = { ...defaults, ...opts }
30
+ const options = { ...defaults,
31
+ ...opts
32
+ };
33
+
34
+ const httpContentNegotiationMiddlewareBefore = async request => {
35
+ const {
36
+ event
37
+ } = request;
38
+ if (!event.headers) return;
27
39
 
28
- const httpContentNegotiationMiddlewareBefore = async (request) => {
29
- const { event } = request
30
- if (!event.headers) return
31
40
  if (options.parseCharsets) {
32
- parseHeader(
33
- 'Accept-Charset',
34
- 'Charset',
35
- options.availableCharsets,
36
- options.failOnMismatch,
37
- event
38
- )
41
+ parseHeader('Accept-Charset', 'Charset', options.availableCharsets, options.failOnMismatch, event);
39
42
  }
40
43
 
41
44
  if (options.parseEncodings) {
42
- parseHeader(
43
- 'Accept-Encoding',
44
- 'Encoding',
45
- options.availableEncodings,
46
- options.failOnMismatch,
47
- event
48
- )
45
+ parseHeader('Accept-Encoding', 'Encoding', options.availableEncodings, options.failOnMismatch, event);
49
46
  }
50
47
 
51
48
  if (options.parseLanguages) {
52
- parseHeader(
53
- 'Accept-Language',
54
- 'Language',
55
- options.availableLanguages,
56
- options.failOnMismatch,
57
- event
58
- )
49
+ parseHeader('Accept-Language', 'Language', options.availableLanguages, options.failOnMismatch, event);
59
50
  }
60
51
 
61
52
  if (options.parseMediaTypes) {
62
- parseHeader(
63
- 'Accept',
64
- 'MediaType',
65
- options.availableMediaTypes,
66
- options.failOnMismatch,
67
- event
68
- )
53
+ parseHeader('Accept', 'MediaType', options.availableMediaTypes, options.failOnMismatch, event);
69
54
  }
70
- }
55
+ };
71
56
 
72
57
  return {
73
58
  before: httpContentNegotiationMiddlewareBefore
74
- }
75
- }
76
-
77
- const parseHeader = (
78
- headerName,
79
- type,
80
- availableValues,
81
- failOnMismatch,
82
- event
83
- ) => {
84
- const resultsName = `preferred${type}s`
85
- const resultName = `preferred${type}`
86
- const headerValue =
87
- event.headers[headerName] ?? event.headers[headerName.toLowerCase()]
88
- event[resultsName] = parseFn[type](headerValue, availableValues)
89
- event[resultName] = event[resultsName][0]
59
+ };
60
+ };
61
+
62
+ const parseHeader = (headerName, type, availableValues, failOnMismatch, event) => {
63
+ var _event$headers$header;
64
+
65
+ const resultsName = `preferred${type}s`;
66
+ const resultName = `preferred${type}`;
67
+ const headerValue = (_event$headers$header = event.headers[headerName]) !== null && _event$headers$header !== void 0 ? _event$headers$header : event.headers[headerName.toLowerCase()];
68
+ event[resultsName] = parseFn[type](headerValue, availableValues);
69
+ event[resultName] = event[resultsName][0];
90
70
 
91
71
  if (failOnMismatch && event[resultName] === undefined) {
92
- const { createError } = require('@middy/util')
93
- // NotAcceptable
94
- throw createError(406, `Unsupported ${type}. Acceptable values: ${availableValues.join(', ')}`)
72
+ const {
73
+ createError
74
+ } = require('@middy/util'); // NotAcceptable
75
+
76
+
77
+ throw createError(406, `Unsupported ${type}. Acceptable values: ${availableValues.join(', ')}`);
95
78
  }
96
- }
79
+ };
97
80
 
98
- module.exports = httpContentNegotiationMiddleware
81
+ module.exports = httpContentNegotiationMiddleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/http-content-negotiation",
3
- "version": "2.5.6",
3
+ "version": "2.5.7",
4
4
  "description": "Http content negotiation middleware for the middy framework",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "homepage": "https://github.com/middyjs/middy#readme",
48
48
  "dependencies": {
49
- "@middy/util": "^2.5.6",
49
+ "@middy/util": "^2.5.7",
50
50
  "negotiator": "0.6.2"
51
51
  },
52
52
  "devDependencies": {
53
- "@middy/core": "^2.5.6"
53
+ "@middy/core": "^2.5.7"
54
54
  },
55
- "gitHead": "0c789f55b4adf691f977b0d9904d1a805bb3bb2b"
55
+ "gitHead": "3983c4b138e1a4d7fcb3ed805d3b8832fff06fc1"
56
56
  }