@middy/core 6.2.1 → 6.2.3

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 (3) hide show
  1. package/index.d.ts +2 -4
  2. package/index.js +28 -16
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -3,10 +3,8 @@ import type {
3
3
  Handler as LambdaHandler,
4
4
  } from "aws-lambda";
5
5
 
6
- declare type PluginHook = () => undefined;
7
- declare type PluginHookWithMiddlewareName = (
8
- middlewareName: string,
9
- ) => undefined;
6
+ declare type PluginHook = () => void;
7
+ declare type PluginHookWithMiddlewareName = (middlewareName: string) => void;
10
8
  declare type PluginHookPromise = (
11
9
  request: Request,
12
10
  ) => Promise<unknown> | unknown;
package/index.js CHANGED
@@ -35,29 +35,28 @@ const middy = (setupLambdaHandler, pluginConfig) => {
35
35
  const afterMiddlewares = [];
36
36
  const onErrorMiddlewares = [];
37
37
 
38
- const middyHandler = (event = {}, context = {}) => {
39
- plugin.requestStart?.();
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
- const handlerResponse = await middyHandler(event, context);
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
- : middyHandler;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/core",
3
- "version": "6.2.1",
3
+ "version": "6.2.3",
4
4
  "description": "🛵 The stylish Node.js middleware engine for AWS Lambda (core package)",
5
5
  "type": "module",
6
6
  "engines": {