@middy/s3-object-response 5.1.0 → 5.2.1

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 +57 -46
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,49 +1,60 @@
1
- import { canPrefetch, createPrefetchClient, createClient } from '@middy/util';
2
- import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3';
1
+ import {
2
+ canPrefetch,
3
+ createPrefetchClient,
4
+ createClient
5
+ // catchInvalidSignatureException
6
+ } from '@middy/util'
7
+
8
+ import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3'
9
+
3
10
  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);
11
+ AwsClient: S3Client,
12
+ awsClientOptions: {},
13
+ awsClientAssumeRole: undefined,
14
+ awsClientCapture: undefined,
15
+ disablePrefetch: false
16
+ }
17
+
18
+ const s3ObjectResponseMiddleware = (opts = {}) => {
19
+ const options = { ...defaults, ...opts }
20
+
21
+ let client
22
+ if (canPrefetch(options)) {
23
+ client = createPrefetchClient(options)
24
+ }
25
+
26
+ const s3ObjectResponseMiddlewareBefore = async (request) => {
27
+ const { inputS3Url } = request.event.getObjectContext
28
+
29
+ request.context.s3ObjectFetch = fetch(inputS3Url)
30
+ }
31
+
32
+ const s3ObjectResponseMiddlewareAfter = async (request) => {
33
+ if (!client) {
34
+ client = await createClient(options, request)
18
35
  }
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
36
 
37
+ request.response.RequestRoute = request.event.getObjectContext.outputRoute
38
+ request.response.RequestToken = request.event.getObjectContext.outputToken
39
+
40
+ if (request.response.body) {
41
+ request.response.Body = request.response.body
42
+ delete request.response.body
43
+ }
44
+
45
+ const command = new WriteGetObjectResponseCommand(
46
+ request.internal.s3ObjectResponse
47
+ )
48
+ await client.send(command) // Doesn't return a promise?
49
+ // .catch((e) => catchInvalidSignatureException(e, client, command))
50
+
51
+ return { statusCode: 200 }
52
+ }
53
+
54
+ return {
55
+ before: s3ObjectResponseMiddlewareBefore,
56
+ after: s3ObjectResponseMiddlewareAfter
57
+ }
58
+ }
59
+
60
+ export default s3ObjectResponseMiddleware
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/s3-object-response",
3
- "version": "5.1.0",
3
+ "version": "5.2.1",
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.1.0"
63
+ "@middy/util": "5.2.1"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@aws-sdk/client-s3": "^3.0.0",
67
- "@middy/core": "5.1.0",
67
+ "@middy/core": "5.2.1",
68
68
  "@types/aws-lambda": "^8.10.101",
69
69
  "aws-xray-sdk": "^3.3.3"
70
70
  },
71
- "gitHead": "bbdaf5843914921804ba085dd58117273febe6b5"
71
+ "gitHead": "4d55da221b9165b4b3e59a12632fd40a149a1e92"
72
72
  }