@smartsheet-extensions/handler 1.0.0-beta.4 → 1.0.0-beta.7

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.
@@ -1,3 +1,8 @@
1
+ import FormData from 'form-data';
1
2
  import { ExtensionHandlerEnhancer } from '../handler';
2
- export declare const handleBigPayLoad: ExtensionHandlerEnhancer;
3
+ export interface PostResult {
4
+ data: FormData;
5
+ url: string;
6
+ }
7
+ export declare const handleBigPayLoad: ExtensionHandlerEnhancer<import("../handler").DefaultExtensionHandler, import("../handler").DefaultExtensionHandler>;
3
8
  //# sourceMappingURL=handleBigPayLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAiGtD,eAAO,MAAM,gBAAgB,EAAE,wBA+B9B,CAAC"}
1
+ {"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAetD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAiND,eAAO,MAAM,gBAAgB,sHAiB5B,CAAC"}
@@ -15,39 +15,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.handleBigPayLoad = void 0;
16
16
  const axios_1 = __importDefault(require("axios"));
17
17
  const form_data_1 = __importDefault(require("form-data"));
18
- const PlatformResponse_1 = require("../responses/PlatformResponse");
19
18
  const PayloadFetchError_1 = require("../errors/PayloadFetchError");
19
+ const PayloadLimitExceedError_1 = require("../errors/PayloadLimitExceedError");
20
20
  const PayloadPostError_1 = require("../errors/PayloadPostError");
21
- const S3_EXECUTION = 's3Execution';
22
- const STREAM_EXECUTION = 'streamExecution';
21
+ const PlatformResponse_1 = require("../responses/PlatformResponse");
22
+ const constants_1 = require("../utils/constants");
23
+ const normalizeError_1 = require("../utils/normalizeError");
24
+ const xorHandler_1 = require("./xorHandler");
25
+ const retryWrapper = (func, retryTimes) => __awaiter(void 0, void 0, void 0, function* () {
26
+ for (let counter = retryTimes - 1; counter >= 0; counter -= 1) {
27
+ try {
28
+ // eslint-disable-next-line no-await-in-loop
29
+ const resp = yield func();
30
+ return resp.data;
31
+ }
32
+ catch (error) {
33
+ if (counter === 0) {
34
+ throw error;
35
+ }
36
+ }
37
+ }
38
+ });
23
39
  const getPayloadFromS3 = (url) => __awaiter(void 0, void 0, void 0, function* () {
24
- const resp = yield axios_1.default.get(url);
25
- return resp.data;
40
+ const resp = yield retryWrapper(() => __awaiter(void 0, void 0, void 0, function* () { return axios_1.default.get(url); }), constants_1.S3_GET_RETRY_LIMIT);
41
+ return resp;
26
42
  });
27
- const putPayloadToS3 = (url, payload) => __awaiter(void 0, void 0, void 0, function* () {
43
+ const preparePostResult = (url, payload) => {
28
44
  const urlObj = new URL(decodeURI(url));
29
45
  const formData = new form_data_1.default();
30
46
  const urlVal = urlObj.origin + urlObj.pathname;
31
- urlObj.searchParams.forEach(function (value, key) {
47
+ urlObj.searchParams.forEach((value, key) => {
32
48
  formData.append(key, value);
33
49
  });
34
- formData.append('file', JSON.stringify(payload));
35
- const resp = yield axios_1.default.post(urlVal, formData, {
50
+ let payloadStr = JSON.stringify(payload);
51
+ if (payloadStr.length > constants_1.PAYLOAD_LIMIT) {
52
+ payloadStr = JSON.stringify(normalizeError_1.normalizeError(new PayloadLimitExceedError_1.PayloadLimitExceedError()).toJSON());
53
+ }
54
+ formData.append('file', payloadStr);
55
+ return {
56
+ data: formData,
57
+ url: urlVal,
58
+ };
59
+ };
60
+ const postPayloadToS3 = (result) => __awaiter(void 0, void 0, void 0, function* () {
61
+ const { data, url } = result;
62
+ const config = {
36
63
  headers: {
37
64
  'Content-Type': 'multipart/form-data',
38
- 'Content-Length': formData.getLengthSync(),
65
+ 'Content-Length': result.data.getLengthSync(),
39
66
  },
40
- });
41
- return resp.data;
67
+ maxContentLength: Infinity,
68
+ maxBodyLength: Infinity,
69
+ };
70
+ const resp = yield retryWrapper(() => __awaiter(void 0, void 0, void 0, function* () { return axios_1.default.post(url, data, config); }), constants_1.S3_POST_RETRY_LIMIT);
71
+ return resp;
42
72
  });
43
73
  const isStreamExecution = (payload) => {
44
74
  if (payload.meta !== undefined && payload.meta.type !== undefined) {
45
- return payload.meta.type === STREAM_EXECUTION;
75
+ return payload.meta.type === constants_1.STREAM_EXECUTION;
46
76
  }
47
77
  };
48
78
  const isS3Execution = (payload) => {
49
79
  if (payload.meta !== undefined && payload.meta.type !== undefined) {
50
- return payload.meta.type === S3_EXECUTION;
80
+ return payload.meta.type === constants_1.S3_EXECUTION;
51
81
  }
52
82
  };
53
83
  const wrapS3Response = (result) => {
@@ -56,7 +86,7 @@ const wrapS3Response = (result) => {
56
86
  data: result,
57
87
  };
58
88
  };
59
- const handleFetchError = (err) => {
89
+ const handleGetError = (err) => {
60
90
  if (axios_1.default.isAxiosError(err)) {
61
91
  if (err.response) {
62
92
  return new PayloadFetchError_1.PayloadFetchError(err.response.data);
@@ -82,39 +112,92 @@ const handlePostError = (err) => {
82
112
  return new PayloadPostError_1.PayloadPostError(err.stack);
83
113
  }
84
114
  };
85
- exports.handleBigPayLoad = create => {
115
+ /**
116
+ * Handles payloads that aren't wrapped.
117
+ */
118
+ const handlePassThroughPayload = create => {
86
119
  return () => {
87
120
  const handler = create();
88
121
  return (payload, callback) => {
89
- if (isS3Execution(payload)) {
90
- getPayloadFromS3(payload.body.getURL)
91
- .then(resultFromS3 => {
92
- handler(resultFromS3, (err, result) => {
93
- if (err) {
94
- callback(err);
95
- }
96
- else {
97
- putPayloadToS3(payload.body.postURL, result)
98
- .then(resultNext => {
99
- callback(err, wrapS3Response(resultNext));
100
- })
101
- .catch(s3Error => {
102
- callback(handlePostError(s3Error));
103
- });
104
- }
105
- });
106
- })
107
- .catch(s3GetErr => {
108
- callback(handleFetchError(s3GetErr));
109
- });
122
+ try {
123
+ handler(payload, callback);
124
+ }
125
+ catch (err) {
126
+ callback(err);
110
127
  }
111
- else if (isStreamExecution(payload)) {
128
+ };
129
+ };
130
+ };
131
+ /**
132
+ * Handles payloads that are wrapped and `meta.type === 'streamExecution'`.
133
+ * The payload is wrapped but the response is still raw, passed straight
134
+ * from the extension's usercode.
135
+ */
136
+ const handleStreamPayLoad = create => {
137
+ return () => {
138
+ const handler = create();
139
+ return (payload, callback) => {
140
+ try {
112
141
  handler(payload.body.payload, callback);
113
142
  }
114
- else {
115
- handler(payload, callback);
143
+ catch (err) {
144
+ callback(err);
116
145
  }
117
146
  };
118
147
  };
119
148
  };
149
+ /**
150
+ * Handles payloads that are wrapped and `meta.type === 's3Execution'`.
151
+ * The payload is fetched from S3 and the response is posted to S3.
152
+ * Only Platform errors are returned via the callback.
153
+ */
154
+ const handleS3PayLoad = create => {
155
+ return () => {
156
+ const handler = create();
157
+ const handlerAsPromise = (payload) => new Promise((resolve, reject) => {
158
+ handler(payload, (err, result) => {
159
+ if (err) {
160
+ reject(err);
161
+ }
162
+ else {
163
+ resolve(result);
164
+ }
165
+ });
166
+ });
167
+ return ({ body: { getURL, postURL } }, callback) => __awaiter(void 0, void 0, void 0, function* () {
168
+ getPayloadFromS3(getURL).then((payload) => {
169
+ return handlerAsPromise(payload)
170
+ .catch(upstreamErr => normalizeError_1.normalizeError(upstreamErr).toJSON())
171
+ .then(result => {
172
+ const resultToPost = preparePostResult(postURL, result);
173
+ // All upstream results, including errors.
174
+ postPayloadToS3(resultToPost).then(response => {
175
+ callback(null, wrapS3Response(response));
176
+ }, s3Error => {
177
+ // Only putPayloadToS3 error
178
+ callback(handlePostError(s3Error));
179
+ });
180
+ });
181
+ }, s3GetErr => {
182
+ // Only getPayloadFromS3 error
183
+ callback(handleGetError(s3GetErr));
184
+ });
185
+ });
186
+ };
187
+ };
188
+ exports.handleBigPayLoad = xorHandler_1.xorHandler({
189
+ passThroughPayload: handlePassThroughPayload,
190
+ streamPayload: handleStreamPayLoad,
191
+ s3Payload: handleS3PayLoad,
192
+ }, {
193
+ getFunctionKey: (payload) => {
194
+ if (isS3Execution(payload)) {
195
+ return 's3Payload';
196
+ }
197
+ if (isStreamExecution(payload)) {
198
+ return 'streamPayload';
199
+ }
200
+ return 'passThroughPayload';
201
+ },
202
+ });
120
203
  //# sourceMappingURL=handleBigPayLoad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { AbstractError } from './AbstractError';
2
+ export declare class PayloadLimitExceedError extends AbstractError {
3
+ static CODE: string;
4
+ static STATUS: number;
5
+ static DESCRIPTION: string;
6
+ constructor();
7
+ }
8
+ //# sourceMappingURL=PayloadLimitExceedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadLimitExceedError.d.ts","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAc,IAAI,SAAgC;IAClD,OAAc,MAAM,SAAO;IAC3B,OAAc,WAAW,SACiC;;CAQ3D"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayloadLimitExceedError = void 0;
4
+ const AbstractError_1 = require("./AbstractError");
5
+ const InternalError_1 = require("./InternalError");
6
+ class PayloadLimitExceedError extends AbstractError_1.AbstractError {
7
+ constructor() {
8
+ super({
9
+ httpStatus: InternalError_1.InternalError.STATUS,
10
+ code: PayloadLimitExceedError.CODE,
11
+ description: PayloadLimitExceedError.DESCRIPTION,
12
+ });
13
+ }
14
+ }
15
+ exports.PayloadLimitExceedError = PayloadLimitExceedError;
16
+ PayloadLimitExceedError.CODE = 'PAYLOAD_LIMIT_EXCEED_ERROR';
17
+ PayloadLimitExceedError.STATUS = 413;
18
+ PayloadLimitExceedError.DESCRIPTION = 'Platform does not support payloads larger than 48 MB.';
19
+ //# sourceMappingURL=PayloadLimitExceedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadLimitExceedError.js","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,mDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,6BAAa;IAKxD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,6BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,WAAW,EAAE,uBAAuB,CAAC,WAAW;SACjD,CAAC,CAAC;IACL,CAAC;;AAXH,0DAYC;AAXe,4BAAI,GAAG,4BAA4B,CAAC;AACpC,8BAAM,GAAG,GAAG,CAAC;AACb,mCAAW,GACvB,uDAAuD,CAAC"}
package/lib/index.d.ts CHANGED
@@ -18,4 +18,5 @@ export * from './transports/httpTransport';
18
18
  export * from './transports/lambdaTransport';
19
19
  export * from './utils/compose';
20
20
  export * from './utils/serializable';
21
+ export * from './utils/constants';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
package/lib/index.js CHANGED
@@ -30,4 +30,5 @@ __exportStar(require("./transports/httpTransport"), exports);
30
30
  __exportStar(require("./transports/lambdaTransport"), exports);
31
31
  __exportStar(require("./utils/compose"), exports);
32
32
  __exportStar(require("./utils/serializable"), exports);
33
+ __exportStar(require("./utils/constants"), exports);
33
34
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC"}
@@ -0,0 +1,6 @@
1
+ export declare const S3_EXECUTION = "s3Execution";
2
+ export declare const STREAM_EXECUTION = "streamExecution";
3
+ export declare const PAYLOAD_LIMIT: number;
4
+ export declare const S3_GET_RETRY_LIMIT: number;
5
+ export declare const S3_POST_RETRY_LIMIT: number;
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,aAAa,QAAmB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,EAAE,MAAU,CAAC;AAC5C,eAAO,MAAM,mBAAmB,EAAE,MAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3_POST_RETRY_LIMIT = exports.S3_GET_RETRY_LIMIT = exports.PAYLOAD_LIMIT = exports.STREAM_EXECUTION = exports.S3_EXECUTION = void 0;
4
+ exports.S3_EXECUTION = 's3Execution';
5
+ exports.STREAM_EXECUTION = 'streamExecution';
6
+ exports.PAYLOAD_LIMIT = 48 * 1024 * 1024;
7
+ exports.S3_GET_RETRY_LIMIT = 3;
8
+ exports.S3_POST_RETRY_LIMIT = 3;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,QAAA,kBAAkB,GAAW,CAAC,CAAC;AAC/B,QAAA,mBAAmB,GAAW,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsheet-extensions/handler",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.7",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "main": "./lib/index.js",