@middy/core 6.2.0 → 6.2.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.
- package/index.js +28 -16
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -35,29 +35,28 @@ const middy = (setupLambdaHandler, pluginConfig) => {
|
|
|
35
35
|
const afterMiddlewares = [];
|
|
36
36
|
const onErrorMiddlewares = [];
|
|
37
37
|
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
const request = {
|
|
38
|
+
const middyRequest = (event = {}, context = {}) => {
|
|
39
|
+
return {
|
|
41
40
|
event,
|
|
42
41
|
context,
|
|
43
42
|
response: undefined,
|
|
44
43
|
error: undefined,
|
|
45
44
|
internal: plugin.internal ?? {},
|
|
46
45
|
};
|
|
47
|
-
|
|
48
|
-
return runRequest(
|
|
49
|
-
request,
|
|
50
|
-
beforeMiddlewares,
|
|
51
|
-
lambdaHandler,
|
|
52
|
-
afterMiddlewares,
|
|
53
|
-
onErrorMiddlewares,
|
|
54
|
-
plugin,
|
|
55
|
-
);
|
|
56
46
|
};
|
|
57
47
|
const middy = plugin.streamifyResponse
|
|
58
48
|
? awslambda.streamifyResponse(
|
|
59
49
|
async (event, lambdaResponseStream, context) => {
|
|
60
|
-
|
|
50
|
+
plugin.requestStart?.();
|
|
51
|
+
const request = middyRequest(event, context);
|
|
52
|
+
const handlerResponse = await runRequest(
|
|
53
|
+
request,
|
|
54
|
+
beforeMiddlewares,
|
|
55
|
+
lambdaHandler,
|
|
56
|
+
afterMiddlewares,
|
|
57
|
+
onErrorMiddlewares,
|
|
58
|
+
plugin,
|
|
59
|
+
);
|
|
61
60
|
let responseStream = lambdaResponseStream;
|
|
62
61
|
let handlerBody = handlerResponse;
|
|
63
62
|
if (handlerResponse.statusCode) {
|
|
@@ -89,9 +88,24 @@ const middy = (setupLambdaHandler, pluginConfig) => {
|
|
|
89
88
|
}
|
|
90
89
|
|
|
91
90
|
await pipeline(handlerStream, responseStream);
|
|
91
|
+
await plugin.requestEnd?.(request);
|
|
92
92
|
},
|
|
93
93
|
)
|
|
94
|
-
:
|
|
94
|
+
: async (event, context) => {
|
|
95
|
+
plugin.requestStart?.();
|
|
96
|
+
const request = middyRequest(event, context);
|
|
97
|
+
|
|
98
|
+
const response = await runRequest(
|
|
99
|
+
request,
|
|
100
|
+
beforeMiddlewares,
|
|
101
|
+
lambdaHandler,
|
|
102
|
+
afterMiddlewares,
|
|
103
|
+
onErrorMiddlewares,
|
|
104
|
+
plugin,
|
|
105
|
+
);
|
|
106
|
+
await plugin.requestEnd?.(request);
|
|
107
|
+
return response;
|
|
108
|
+
};
|
|
95
109
|
|
|
96
110
|
middy.use = (inputMiddleware) => {
|
|
97
111
|
const middlewares = Array.isArray(inputMiddleware)
|
|
@@ -226,8 +240,6 @@ const runRequest = async (
|
|
|
226
240
|
}
|
|
227
241
|
// Catch if onError stack hasn't handled the error
|
|
228
242
|
if (typeof request.response === "undefined") throw request.error;
|
|
229
|
-
} finally {
|
|
230
|
-
await plugin.requestEnd?.(request);
|
|
231
243
|
}
|
|
232
244
|
|
|
233
245
|
return request.response;
|