@middy/s3-object-response 5.0.3 → 5.2.0

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 +50 -46
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,49 +1,53 @@
1
- import { canPrefetch, createPrefetchClient, createClient } from '@middy/util';
2
- import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3';
1
+ import { canPrefetch, createPrefetchClient, createClient } from '@middy/util'
2
+
3
+ import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3'
4
+
3
5
  const defaults = {
4
- AwsClient: S3Client,
5
- awsClientOptions: {},
6
- awsClientAssumeRole: undefined,
7
- awsClientCapture: undefined,
8
- disablePrefetch: false
9
- };
10
- const s3ObjectResponseMiddleware = (opts = {})=>{
11
- const options = {
12
- ...defaults,
13
- ...opts
14
- };
15
- let client;
16
- if (canPrefetch(options)) {
17
- client = createPrefetchClient(options);
6
+ AwsClient: S3Client,
7
+ awsClientOptions: {},
8
+ awsClientAssumeRole: undefined,
9
+ awsClientCapture: undefined,
10
+ disablePrefetch: false
11
+ }
12
+
13
+ const s3ObjectResponseMiddleware = (opts = {}) => {
14
+ const options = { ...defaults, ...opts }
15
+
16
+ let client
17
+ if (canPrefetch(options)) {
18
+ client = createPrefetchClient(options)
19
+ }
20
+
21
+ const s3ObjectResponseMiddlewareBefore = async (request) => {
22
+ const { inputS3Url } = request.event.getObjectContext
23
+
24
+ request.context.s3ObjectFetch = fetch(inputS3Url)
25
+ }
26
+
27
+ const s3ObjectResponseMiddlewareAfter = async (request) => {
28
+ if (!client) {
29
+ client = await createClient(options, request)
18
30
  }
19
- const s3ObjectResponseMiddlewareBefore = async (request)=>{
20
- const { inputS3Url, outputRoute, outputToken } = request.event.getObjectContext;
21
- request.internal.s3ObjectResponse = {
22
- RequestRoute: outputRoute,
23
- RequestToken: outputToken
24
- };
25
- request.context.s3ObjectFetch = fetch(inputS3Url);
26
- };
27
- const s3ObjectResponseMiddlewareAfter = async (request)=>{
28
- if (!client) {
29
- client = await createClient(options, request);
30
- }
31
- if (request.response.body) {
32
- request.response.Body = request.response.body;
33
- delete request.response.body;
34
- }
35
- await client.send(new WriteGetObjectResponseCommand({
36
- ...request.internal.s3ObjectResponse,
37
- ...request.response
38
- }));
39
- return {
40
- statusCode: 200
41
- };
42
- };
43
- return {
44
- before: s3ObjectResponseMiddlewareBefore,
45
- after: s3ObjectResponseMiddlewareAfter
46
- };
47
- };
48
- export default s3ObjectResponseMiddleware;
49
31
 
32
+ request.response.RequestRoute = request.event.getObjectContext.outputRoute
33
+ request.response.RequestToken = request.event.getObjectContext.outputToken
34
+
35
+ if (request.response.body) {
36
+ request.response.Body = request.response.body
37
+ delete request.response.body
38
+ }
39
+
40
+ await client.send(
41
+ new WriteGetObjectResponseCommand(request.internal.s3ObjectResponse)
42
+ )
43
+
44
+ return { statusCode: 200 }
45
+ }
46
+
47
+ return {
48
+ before: s3ObjectResponseMiddlewareBefore,
49
+ after: s3ObjectResponseMiddlewareAfter
50
+ }
51
+ }
52
+
53
+ export default s3ObjectResponseMiddleware
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/s3-object-response",
3
- "version": "5.0.3",
3
+ "version": "5.2.0",
4
4
  "description": "S3 object response handling middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -60,13 +60,13 @@
60
60
  "url": "https://github.com/sponsors/willfarrell"
61
61
  },
62
62
  "dependencies": {
63
- "@middy/util": "5.0.3"
63
+ "@middy/util": "5.2.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@aws-sdk/client-s3": "^3.0.0",
67
- "@middy/core": "5.0.3",
67
+ "@middy/core": "5.2.0",
68
68
  "@types/aws-lambda": "^8.10.101",
69
69
  "aws-xray-sdk": "^3.3.3"
70
70
  },
71
- "gitHead": "87660575a7ac2b52e4153c407a4c63c9449dcd0d"
71
+ "gitHead": "2d9096a49cd8fb62359517be96d6c93609df41f0"
72
72
  }