zapier-platform-core 15.5.0 → 15.5.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.
package/index.d.ts CHANGED
@@ -3,8 +3,10 @@
3
3
  // Definitions by: David Brownman <https://davidbrownman.com>
4
4
 
5
5
  /// <reference types="node" />
6
+ /// <reference types="node-fetch" />
6
7
 
7
8
  import { Agent } from 'http';
9
+ import { Headers } from 'node-fetch';
8
10
 
9
11
  // The EXPORTED OBJECT
10
12
  export const version: string;
@@ -101,7 +103,7 @@ export interface HttpRequestOptions {
101
103
 
102
104
  interface BaseHttpResponse {
103
105
  status: number;
104
- headers: { [key: string]: string };
106
+ headers: Headers;
105
107
  getHeader(key: string): string | undefined;
106
108
  throwForStatus(): void;
107
109
  skipThrowForStatus: boolean;
@@ -115,9 +117,10 @@ export interface HttpResponse extends BaseHttpResponse {
115
117
  }
116
118
 
117
119
  export interface RawHttpResponse extends BaseHttpResponse {
118
- content: Buffer;
119
- json: Promise<object | undefined>;
120
120
  body: NodeJS.ReadableStream;
121
+ buffer(): Promise<Buffer>;
122
+ json(): Promise<object>;
123
+ text(): Promise<string>;
121
124
  }
122
125
 
123
126
  type DehydrateFunc = <T>(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zapier-platform-core",
3
- "version": "15.5.0",
3
+ "version": "15.5.2",
4
4
  "description": "The core SDK for CLI apps in the Zapier Developer Platform.",
5
5
  "repository": "zapier/zapier-platform",
6
6
  "homepage": "https://platform.zapier.com/",
@@ -51,9 +51,10 @@
51
51
  "node-fetch": "2.6.7",
52
52
  "oauth-sign": "0.9.0",
53
53
  "semver": "7.5.2",
54
- "zapier-platform-schema": "15.5.0"
54
+ "zapier-platform-schema": "15.5.2"
55
55
  },
56
56
  "devDependencies": {
57
+ "@types/node-fetch": "^2.6.11",
57
58
  "adm-zip": "0.5.10",
58
59
  "aws-sdk": "^2.1397.0",
59
60
  "dicer": "^0.3.1",
@@ -284,27 +284,38 @@ const sendLog = async (logStreamFactory, options, event, message, data) => {
284
284
  data.input = truncateData(data.input, MAX_LENGTH);
285
285
  data.output = truncateData(data.output, MAX_LENGTH);
286
286
  }
287
+
287
288
  // scrub throws an error if there are no secrets
288
- const safeMessage = truncateString(
289
- sensitiveValues.length ? scrub(message, sensitiveValues) : message
290
- );
291
- const safeData = recurseReplace(
292
- sensitiveValues.length ? scrub(data, sensitiveValues) : data,
293
- truncateString
294
- );
295
- const unsafeData = recurseReplace(data, truncateString);
289
+ let safeMessage, safeData;
290
+ if (sensitiveValues.length) {
291
+ safeMessage = scrub(message, sensitiveValues);
292
+ safeData = scrub(data, sensitiveValues);
293
+ } else {
294
+ safeMessage = message;
295
+ safeData = data;
296
+ }
297
+
298
+ let safeKeyData = _.pick(data, SAFE_LOG_KEYS);
299
+
300
+ if (event.logFieldMaxLength != null && event.logFieldMaxLength >= 0) {
301
+ const truncate = (s) =>
302
+ simpleTruncate(s, event.logFieldMaxLength, ' [...]');
303
+
304
+ safeMessage = truncate(safeMessage);
305
+ safeData = recurseReplace(safeData, truncate);
306
+ safeKeyData = recurseReplace(safeKeyData, truncate);
307
+ }
308
+
296
309
  // Keep safe log keys uncensored
297
- Object.keys(safeData).forEach((key) => {
298
- if (SAFE_LOG_KEYS.includes(key)) {
299
- safeData[key] = unsafeData[key];
300
- }
310
+ Object.entries(safeKeyData).forEach(([key, value]) => {
311
+ safeData[key] = value;
301
312
  });
302
313
 
303
314
  safeData.request_headers = formatHeaders(safeData.request_headers);
304
315
  safeData.response_headers = formatHeaders(safeData.response_headers);
305
316
 
306
317
  if (event.logToStdout) {
307
- toStdout(event, message, unsafeData);
318
+ toStdout(event, message, safeData);
308
319
  }
309
320
 
310
321
  if (options.logBuffer && data.log_type === 'console') {