@middy/http-response-serializer 3.0.0-alpha.3 → 3.0.0-alpha.4

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 +37 -37
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,64 +1,64 @@
1
- import { normalizeHttpResponse } from '@middy/util'
2
- import Accept from '@hapi/accept'
3
-
1
+ import { normalizeHttpResponse } from '@middy/util';
2
+ import Accept from '@hapi/accept';
4
3
  const defaults = {
5
4
  serializers: [],
6
5
  defaultContentType: undefined
7
- }
6
+ };
8
7
 
9
8
  const httpResponseSerializerMiddleware = (opts = {}) => {
10
- const { serializers, defaultContentType } = { ...defaults, ...opts }
11
- const httpResponseSerializerMiddlewareAfter = async (request) => {
12
- normalizeHttpResponse(request)
13
-
14
- // skip serialization when Content-Type is already set
15
- if (request.response.headers['Content-Type']) return
9
+ const {
10
+ serializers,
11
+ defaultContentType
12
+ } = { ...defaults,
13
+ ...opts
14
+ };
16
15
 
17
- // find accept value(s)
18
- let types
16
+ const httpResponseSerializerMiddlewareAfter = async request => {
17
+ normalizeHttpResponse(request);
18
+ if (request.response.headers['Content-Type']) return;
19
+ let types;
19
20
 
20
21
  if (request.event.requiredContentType) {
21
- types = [request.event.requiredContentType]
22
+ types = [request.event.requiredContentType];
22
23
  } else {
23
- const acceptHeader = request.event.headers.Accept ?? request.event.headers.accept
24
- types = [
25
- ...((acceptHeader && Accept.mediaTypes(acceptHeader)) ?? []),
26
- request.event.preferredContentType,
27
- defaultContentType
28
- ]
24
+ const acceptHeader = request.event.headers.Accept ?? request.event.headers.accept;
25
+ types = [...((acceptHeader && Accept.mediaTypes(acceptHeader)) ?? []), request.event.preferredContentType, defaultContentType];
29
26
  }
30
27
 
31
28
  for (const type of types) {
32
- let breakTypes
29
+ let breakTypes;
30
+
33
31
  for (const s of serializers) {
34
32
  if (!s.regex.test(type)) {
35
- continue
33
+ continue;
36
34
  }
37
35
 
38
- request.response.headers['Content-Type'] = type
39
- const result = s.serializer(request.response)
36
+ request.response.headers['Content-Type'] = type;
37
+ const result = s.serializer(request.response);
38
+
40
39
  if (typeof result === 'object' && 'body' in result) {
41
- request.response = result
40
+ request.response = result;
42
41
  } else {
43
- // otherwise only replace the body attribute
44
- request.response.body = result
42
+ request.response.body = result;
45
43
  }
46
44
 
47
- breakTypes = true
48
- break
45
+ breakTypes = true;
46
+ break;
49
47
  }
50
- if (breakTypes) break
48
+
49
+ if (breakTypes) break;
51
50
  }
52
- }
51
+ };
52
+
53
+ const httpResponseSerializerMiddlewareOnError = async request => {
54
+ if (request.response === undefined) return;
55
+ return httpResponseSerializerMiddlewareAfter(request);
56
+ };
53
57
 
54
- const httpResponseSerializerMiddlewareOnError = async (request) => {
55
- if (request.response === undefined) return
56
- return httpResponseSerializerMiddlewareAfter(request)
57
- }
58
58
  return {
59
59
  after: httpResponseSerializerMiddlewareAfter,
60
60
  onError: httpResponseSerializerMiddlewareOnError
61
- }
62
- }
61
+ };
62
+ };
63
63
 
64
- export default httpResponseSerializerMiddleware
64
+ export default httpResponseSerializerMiddleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/http-response-serializer",
3
- "version": "3.0.0-alpha.3",
3
+ "version": "3.0.0-alpha.4",
4
4
  "description": "The Http Serializer middleware lets you define serialization mechanisms based on the current content negotiation.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -52,10 +52,10 @@
52
52
  "homepage": "https://github.com/middyjs/middy#readme",
53
53
  "dependencies": {
54
54
  "@hapi/accept": "5.0.2",
55
- "@middy/util": "^3.0.0-alpha.3"
55
+ "@middy/util": "^3.0.0-alpha.4"
56
56
  },
57
57
  "devDependencies": {
58
- "@middy/core": "^3.0.0-alpha.3"
58
+ "@middy/core": "^3.0.0-alpha.4"
59
59
  },
60
- "gitHead": "1441158711580313765e6d156046ef0fade0d156"
60
+ "gitHead": "d4bea7f4e21f6a9bbb1f6f6908361169598b9e53"
61
61
  }