@middy/s3-object-response 5.0.0-alpha.1 → 5.0.0-alpha.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.
Files changed (2) hide show
  1. package/index.js +46 -56
  2. package/package.json +3 -3
package/index.js CHANGED
@@ -1,59 +1,49 @@
1
- import { canPrefetch, createPrefetchClient, createClient } from '@middy/util'
2
-
3
- import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3'
4
-
1
+ import { canPrefetch, createPrefetchClient, createClient } from '@middy/util';
2
+ import { S3Client, WriteGetObjectResponseCommand } from '@aws-sdk/client-s3';
5
3
  const defaults = {
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, outputRoute, outputToken } =
23
- request.event.getObjectContext
24
-
25
- request.internal.s3ObjectResponse = {
26
- RequestRoute: outputRoute,
27
- RequestToken: outputToken
28
- }
29
-
30
- request.context.s3ObjectFetch = fetch(inputS3Url)
31
- }
32
-
33
- const s3ObjectResponseMiddlewareAfter = async (request) => {
34
- if (!client) {
35
- client = await createClient(options, request)
36
- }
37
-
38
- if (request.response.body) {
39
- request.response.Body = request.response.body
40
- delete request.response.body
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);
41
18
  }
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;
42
49
 
43
- await client.send(
44
- new WriteGetObjectResponseCommand({
45
- ...request.internal.s3ObjectResponse,
46
- ...request.response
47
- })
48
- )
49
-
50
- return { statusCode: 200 }
51
- }
52
-
53
- return {
54
- before: s3ObjectResponseMiddlewareBefore,
55
- after: s3ObjectResponseMiddlewareAfter
56
- }
57
- }
58
-
59
- export default s3ObjectResponseMiddleware
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/s3-object-response",
3
- "version": "5.0.0-alpha.1",
3
+ "version": "5.0.0-alpha.2",
4
4
  "description": "S3 object response handling middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -60,11 +60,11 @@
60
60
  "url": "https://github.com/sponsors/willfarrell"
61
61
  },
62
62
  "dependencies": {
63
- "@middy/util": "5.0.0-alpha.1"
63
+ "@middy/util": "5.0.0-alpha.2"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@aws-sdk/client-s3": "^3.0.0",
67
- "@middy/core": "5.0.0-alpha.1",
67
+ "@middy/core": "5.0.0-alpha.2",
68
68
  "@types/aws-lambda": "^8.10.101",
69
69
  "aws-xray-sdk": "^3.3.3"
70
70
  },