@superblocksteam/sdk-api 0.0.10 → 0.0.12-body-types

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 (69) hide show
  1. package/dist/errors.d.ts.map +1 -1
  2. package/dist/errors.js +44 -1
  3. package/dist/errors.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/integrations/base/index.d.ts +2 -1
  8. package/dist/integrations/base/index.d.ts.map +1 -1
  9. package/dist/integrations/base/index.js +1 -0
  10. package/dist/integrations/base/index.js.map +1 -1
  11. package/dist/integrations/base/request-body.d.ts +21 -0
  12. package/dist/integrations/base/request-body.d.ts.map +1 -0
  13. package/dist/integrations/base/request-body.js +322 -0
  14. package/dist/integrations/base/request-body.js.map +1 -0
  15. package/dist/integrations/base/request-body.test.d.ts +2 -0
  16. package/dist/integrations/base/request-body.test.d.ts.map +1 -0
  17. package/dist/integrations/base/request-body.test.js +324 -0
  18. package/dist/integrations/base/request-body.test.js.map +1 -0
  19. package/dist/integrations/base/rest-api-client-base.d.ts.map +1 -1
  20. package/dist/integrations/base/rest-api-client-base.js +18 -4
  21. package/dist/integrations/base/rest-api-client-base.js.map +1 -1
  22. package/dist/integrations/base/types.d.ts +40 -5
  23. package/dist/integrations/base/types.d.ts.map +1 -1
  24. package/dist/integrations/base/types.js +7 -0
  25. package/dist/integrations/base/types.js.map +1 -1
  26. package/dist/integrations/documentation-resolver.test.js +20 -1
  27. package/dist/integrations/documentation-resolver.test.js.map +1 -1
  28. package/dist/integrations/dynamodb/client.d.ts +2 -6
  29. package/dist/integrations/dynamodb/client.d.ts.map +1 -1
  30. package/dist/integrations/dynamodb/client.js +10 -83
  31. package/dist/integrations/dynamodb/client.js.map +1 -1
  32. package/dist/integrations/dynamodb/index.d.ts +1 -1
  33. package/dist/integrations/dynamodb/index.d.ts.map +1 -1
  34. package/dist/integrations/dynamodb/index.js.map +1 -1
  35. package/dist/integrations/dynamodb/types.d.ts +1 -27
  36. package/dist/integrations/dynamodb/types.d.ts.map +1 -1
  37. package/dist/integrations/index.d.ts +1 -1
  38. package/dist/integrations/index.d.ts.map +1 -1
  39. package/dist/integrations/index.js.map +1 -1
  40. package/dist/integrations/restapiintegration/client.body-types.test.d.ts +2 -0
  41. package/dist/integrations/restapiintegration/client.body-types.test.d.ts.map +1 -0
  42. package/dist/integrations/restapiintegration/client.body-types.test.js +145 -0
  43. package/dist/integrations/restapiintegration/client.body-types.test.js.map +1 -0
  44. package/dist/integrations/slack/client.test.js +23 -0
  45. package/dist/integrations/slack/client.test.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/errors.ts +52 -1
  48. package/src/index.ts +0 -1
  49. package/src/integrations/base/index.ts +7 -0
  50. package/src/integrations/base/request-body.test.ts +402 -0
  51. package/src/integrations/base/request-body.ts +548 -0
  52. package/src/integrations/base/rest-api-client-base.ts +18 -4
  53. package/src/integrations/base/types.ts +59 -5
  54. package/src/integrations/documentation-resolver.test.ts +24 -1
  55. package/src/integrations/dynamodb/README.md +12 -33
  56. package/src/integrations/dynamodb/client.ts +16 -121
  57. package/src/integrations/dynamodb/index.ts +1 -5
  58. package/src/integrations/dynamodb/types.ts +1 -33
  59. package/src/integrations/index.ts +0 -1
  60. package/src/integrations/restapiintegration/client.body-types.test.ts +214 -0
  61. package/src/integrations/restapiintegration/docs.manifest.json +8 -0
  62. package/src/integrations/restapiintegration/overlays/request-body-types-unsupported.md +7 -0
  63. package/src/integrations/restapiintegration/overlays/request-body-types.md +106 -0
  64. package/src/integrations/slack/client.test.ts +33 -0
  65. package/dist/integrations/dynamodb/client.test.d.ts +0 -8
  66. package/dist/integrations/dynamodb/client.test.d.ts.map +0 -1
  67. package/dist/integrations/dynamodb/client.test.js +0 -198
  68. package/dist/integrations/dynamodb/client.test.js.map +0 -1
  69. package/src/integrations/dynamodb/client.test.ts +0 -254
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.body-types.test.js","sourceRoot":"","sources":["../../../src/integrations/restapiintegration/client.body-types.test.ts"],"names":[],"mappings":"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"}
@@ -209,6 +209,29 @@ describe("SlackClientImpl", () => {
209
209
  expect(request.headers).toEqual([{ key: "X-Custom", value: "value" }]);
210
210
  expect(request.params).toEqual([{ key: "unfurl_links", value: "false" }]);
211
211
  });
212
+ it("sends formUrlencoded bodies through the shared request builder", async () => {
213
+ const { client, executeQuery } = createClient({
214
+ ok: true,
215
+ channel: "C123",
216
+ ts: "1234567890.123456",
217
+ });
218
+ await client.apiRequest({
219
+ method: "POST",
220
+ path: "/chat.postMessage",
221
+ body: { channel: "#alerts", text: "hello" },
222
+ bodyType: "formUrlencoded",
223
+ }, { response: PostMessageSchema });
224
+ expect(executeQuery).toHaveBeenCalledWith(expect.objectContaining({
225
+ body: "channel=%23alerts&text=hello",
226
+ bodyType: "rawBody",
227
+ headers: [
228
+ {
229
+ key: "Content-Type",
230
+ value: "application/x-www-form-urlencoded",
231
+ },
232
+ ],
233
+ }), undefined, undefined);
234
+ });
212
235
  it("passes trace metadata to executeQuery", async () => {
213
236
  const { client, executeQuery } = createClient({
214
237
  ok: true,
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/integrations/slack/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/integrations/slack/client.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/sdk-api",
3
- "version": "0.0.10",
3
+ "version": "0.0.12-body-types",
4
4
  "description": "Superblocks SDK for TypeScript-based API definitions",
5
5
  "license": "Superblocks Community Software License",
6
6
  "files": [
package/src/errors.ts CHANGED
@@ -19,10 +19,61 @@ function isWorkerBufferJson(data: unknown): boolean {
19
19
  return data.type === "Buffer" && Array.isArray(data.data);
20
20
  }
21
21
 
22
+ function isPlainRecord(data: unknown): data is Record<string, unknown> {
23
+ if (typeof data !== "object" || data === null || Array.isArray(data)) {
24
+ return false;
25
+ }
26
+ const prototype = Object.getPrototypeOf(data);
27
+ return prototype === Object.prototype || prototype === null;
28
+ }
29
+
22
30
  function redactBinaryValidationData(data: unknown): unknown {
23
- if (data instanceof Uint8Array || isWorkerBufferJson(data)) {
31
+ return redactBinaryValidationDataValue(data, new WeakMap<object, unknown>());
32
+ }
33
+
34
+ function redactBinaryValidationDataValue(
35
+ data: unknown,
36
+ seen: WeakMap<object, unknown>,
37
+ ): unknown {
38
+ if (
39
+ data instanceof ArrayBuffer ||
40
+ ArrayBuffer.isView(data) ||
41
+ isWorkerBufferJson(data)
42
+ ) {
24
43
  return REDACTED_BINARY_RESPONSE_DATA;
25
44
  }
45
+ if (typeof data !== "object" || data === null) {
46
+ return data;
47
+ }
48
+ if (seen.has(data)) {
49
+ return seen.get(data);
50
+ }
51
+ if (Array.isArray(data)) {
52
+ const redactedItems: unknown[] = [];
53
+ seen.set(data, redactedItems);
54
+ let changed = false;
55
+ for (const item of data) {
56
+ const redactedItem = redactBinaryValidationDataValue(item, seen);
57
+ changed ||= redactedItem !== item;
58
+ redactedItems.push(redactedItem);
59
+ }
60
+ return changed ? redactedItems : data;
61
+ }
62
+ if (!isPlainRecord(data)) {
63
+ return data;
64
+ }
65
+ const redactedRecord: Record<string, unknown> =
66
+ Object.getPrototypeOf(data) === null ? Object.create(null) : {};
67
+ seen.set(data, redactedRecord);
68
+ let changed = false;
69
+ for (const [key, value] of Object.entries(data)) {
70
+ const redactedValue = redactBinaryValidationDataValue(value, seen);
71
+ changed ||= redactedValue !== value;
72
+ redactedRecord[key] = redactedValue;
73
+ }
74
+ if (changed) {
75
+ return redactedRecord;
76
+ }
26
77
  return data;
27
78
  }
28
79
 
package/src/index.ts CHANGED
@@ -251,7 +251,6 @@ export type { GraphQLClient } from "./integrations/graphql/index.js";
251
251
  export type {
252
252
  DynamoDBClient,
253
253
  DynamoDBAttributeValue,
254
- DynamoDBScanOptions,
255
254
  } from "./integrations/dynamodb/index.js";
256
255
  export type { CosmosDBClient } from "./integrations/cosmosdb/index.js";
257
256
  export type {
@@ -6,9 +6,16 @@ export { RestApiClientBase } from "./rest-api-client-base.js";
6
6
  export { RestApiIntegrationClient } from "./rest-api-integration-client.js";
7
7
  export type { RestApiRequest } from "./rest-api-client-base.js";
8
8
  export { GraphQLIntegrationClient } from "./graphql-integration-client.js";
9
+ export { REST_API_BODY_TYPES } from "./types.js";
9
10
  export type {
10
11
  ApiRequestOptions,
11
12
  ApiRequestSchema,
13
+ BinaryBody,
14
+ FormUrlencodedBody,
15
+ FormUrlencodedValue,
16
+ MultipartFormBody,
17
+ MultipartFormValue,
18
+ RestApiBodyType,
12
19
  RestApiResponseType,
13
20
  SupportsApiRequest,
14
21
  } from "./types.js";
@@ -0,0 +1,402 @@
1
+ import { describe, expect, expectTypeOf, it } from "vitest";
2
+
3
+ import { RestApiBodyDataType } from "@superblocksteam/shared";
4
+
5
+ import {
6
+ REDACTED_BINARY_RESPONSE_DATA,
7
+ RestApiValidationError,
8
+ } from "../../errors.js";
9
+ import { encodeRequestBody, MAX_BINARY_BODY_BYTES } from "./request-body.js";
10
+ import { REST_API_BODY_TYPES, type RestApiBodyType } from "./types.js";
11
+
12
+ const PNG_BYTES = [137, 80, 78, 71];
13
+ const PNG_BASE64 = Buffer.from(PNG_BYTES).toString("base64");
14
+ const AGENT_REQUEST_CAP_BYTES = 28 * 1024 * 1024;
15
+
16
+ function arrayBufferFrom(bytes: readonly number[]): ArrayBuffer {
17
+ const buffer = new ArrayBuffer(bytes.length);
18
+ new Uint8Array(buffer).set(bytes);
19
+ return buffer;
20
+ }
21
+
22
+ function getRestApiValidationError(fn: () => unknown): RestApiValidationError {
23
+ try {
24
+ fn();
25
+ } catch (error) {
26
+ if (error instanceof RestApiValidationError) return error;
27
+ throw error;
28
+ }
29
+ throw new Error("Expected RestApiValidationError");
30
+ }
31
+
32
+ function expectBinaryDataRedacted(data: unknown): void {
33
+ if (data !== REDACTED_BINARY_RESPONSE_DATA) {
34
+ throw new Error("Expected binary validation data to be redacted");
35
+ }
36
+ }
37
+
38
+ describe("encodeRequestBody", () => {
39
+ it("keeps the public body type contract SDK-owned", () => {
40
+ expect(REST_API_BODY_TYPES).toEqual([
41
+ "json",
42
+ "raw",
43
+ "formUrlencoded",
44
+ "multipartForm",
45
+ "binary",
46
+ ]);
47
+ expectTypeOf<RestApiBodyType>().toEqualTypeOf<
48
+ "json" | "raw" | "formUrlencoded" | "multipartForm" | "binary"
49
+ >();
50
+ expect(Object.values(RestApiBodyDataType).sort()).toEqual([
51
+ "fileForm",
52
+ "formData",
53
+ "jsonBody",
54
+ "rawBody",
55
+ ]);
56
+ expect(Object.values(RestApiBodyDataType)).not.toContain("binaryBody");
57
+ expect(Object.values(RestApiBodyDataType)).not.toContain("formDataBase64");
58
+ });
59
+
60
+ it("preserves default and explicit JSON wire behavior", () => {
61
+ expect(encodeRequestBody({ body: undefined })).toEqual({
62
+ injectedHeaders: [],
63
+ });
64
+ expect(encodeRequestBody({ body: undefined, bodyType: "json" })).toEqual({
65
+ injectedHeaders: [],
66
+ });
67
+ expect(encodeRequestBody({ body: { amount: 42 } })).toEqual({
68
+ body: JSON.stringify({ amount: 42 }),
69
+ bodyType: "jsonBody",
70
+ injectedHeaders: [],
71
+ });
72
+ expect(
73
+ encodeRequestBody({ body: { amount: 42 }, bodyType: "json" }),
74
+ ).toEqual({
75
+ body: JSON.stringify({ amount: 42 }),
76
+ bodyType: "jsonBody",
77
+ injectedHeaders: [],
78
+ });
79
+ });
80
+
81
+ it("rejects invalid JSON and bodyType inputs", () => {
82
+ expect(() =>
83
+ encodeRequestBody({ body: Uint8Array.from(PNG_BYTES) }),
84
+ ).toThrow(/bodyType: "binary"/);
85
+ const circular: Record<string, unknown> = {};
86
+ circular.self = circular;
87
+ for (const body of [circular, 1n, () => undefined]) {
88
+ expect(() => encodeRequestBody({ body })).toThrow(RestApiValidationError);
89
+ }
90
+ for (const bodyType of [
91
+ "jsonBody",
92
+ "rawBody",
93
+ "formData",
94
+ "fileForm",
95
+ "binaryBody",
96
+ "formDataBase64",
97
+ ]) {
98
+ expect(() => encodeRequestBody({ body: {}, bodyType })).toThrow(
99
+ new RegExp(`Unsupported bodyType ${JSON.stringify(bodyType)}`),
100
+ );
101
+ }
102
+ });
103
+
104
+ it("passes raw non-empty string bodies through unchanged", () => {
105
+ expect(
106
+ encodeRequestBody({ body: "<note>hello</note>", bodyType: "raw" }),
107
+ ).toEqual({
108
+ body: "<note>hello</note>",
109
+ bodyType: "rawBody",
110
+ injectedHeaders: [],
111
+ });
112
+ expect(() => encodeRequestBody({ body: "", bodyType: "raw" })).toThrow(
113
+ RestApiValidationError,
114
+ );
115
+ expect(() =>
116
+ encodeRequestBody({ body: { value: "hello" }, bodyType: "raw" }),
117
+ ).toThrow(RestApiValidationError);
118
+ });
119
+
120
+ it("encodes form-urlencoded bodies and injects Content-Type only when absent", () => {
121
+ expect(
122
+ encodeRequestBody({
123
+ body: {
124
+ amount: 2000,
125
+ currency: "usd",
126
+ empty: [],
127
+ enabled: true,
128
+ optional: undefined,
129
+ "metadata[order_id]": "6735",
130
+ tag: ["vip", "repeat"],
131
+ },
132
+ bodyType: "formUrlencoded",
133
+ }),
134
+ ).toEqual({
135
+ body: "amount=2000&currency=usd&enabled=true&metadata%5Border_id%5D=6735&tag=vip&tag=repeat",
136
+ bodyType: "rawBody",
137
+ injectedHeaders: [
138
+ { key: "Content-Type", value: "application/x-www-form-urlencoded" },
139
+ ],
140
+ });
141
+ expect(
142
+ encodeRequestBody({
143
+ body: { amount: 2000 },
144
+ bodyType: "formUrlencoded",
145
+ headers: { "content-type": "application/custom-form" },
146
+ }),
147
+ ).toEqual({
148
+ body: "amount=2000",
149
+ bodyType: "rawBody",
150
+ injectedHeaders: [],
151
+ });
152
+ });
153
+
154
+ it("rejects invalid form-urlencoded bodies", () => {
155
+ const invalidBodies = [
156
+ undefined,
157
+ [],
158
+ { "": "missing" },
159
+ { amount: Number.NaN },
160
+ { metadata: { orderId: "6735" } },
161
+ { empty: [] },
162
+ ];
163
+ for (const body of invalidBodies) {
164
+ expect(() =>
165
+ encodeRequestBody({ body, bodyType: "formUrlencoded" }),
166
+ ).toThrow(RestApiValidationError);
167
+ }
168
+ expect(() =>
169
+ encodeRequestBody({
170
+ body: { metadata: { orderId: "6735" } },
171
+ bodyType: "formUrlencoded",
172
+ }),
173
+ ).toThrow(/metadata\[order_id\]/);
174
+ });
175
+
176
+ it.each([
177
+ ["Uint8Array", Uint8Array.from(PNG_BYTES)],
178
+ ["ArrayBuffer", arrayBufferFrom(PNG_BYTES)],
179
+ ["DataView", new DataView(arrayBufferFrom([0, ...PNG_BYTES, 1]), 1, 4)],
180
+ ["subarray view", Uint8Array.from([0, ...PNG_BYTES, 1]).subarray(1, 5)],
181
+ ["Buffer", Buffer.from(PNG_BYTES)],
182
+ ])("base64-encodes exact bytes from %s", (_name, body) => {
183
+ expect(encodeRequestBody({ body, bodyType: "binary" })).toEqual({
184
+ body: PNG_BASE64,
185
+ bodyType: "binaryBody",
186
+ injectedHeaders: [
187
+ { key: "Content-Type", value: "application/octet-stream" },
188
+ ],
189
+ });
190
+ });
191
+
192
+ it("rejects invalid binary bodies and preserves caller Content-Type", () => {
193
+ expect(
194
+ encodeRequestBody({
195
+ body: Uint8Array.from(PNG_BYTES),
196
+ bodyType: "binary",
197
+ headers: { "CONTENT-TYPE": "image/png" },
198
+ }),
199
+ ).toEqual({
200
+ body: PNG_BASE64,
201
+ bodyType: "binaryBody",
202
+ injectedHeaders: [],
203
+ });
204
+ for (const body of [
205
+ new ArrayBuffer(0),
206
+ "not bytes",
207
+ new Uint8Array(MAX_BINARY_BODY_BYTES + 1),
208
+ ]) {
209
+ expect(() => encodeRequestBody({ body, bodyType: "binary" })).toThrow(
210
+ RestApiValidationError,
211
+ );
212
+ }
213
+ });
214
+
215
+ it("keeps the binary request cap below the serialized agent request cap", () => {
216
+ expect(Math.ceil(MAX_BINARY_BODY_BYTES / 3) * 4).toBeLessThan(
217
+ AGENT_REQUEST_CAP_BYTES,
218
+ );
219
+ });
220
+
221
+ it("redacts binary validation data for invalid request bodies", () => {
222
+ const binaryError = getRestApiValidationError(() =>
223
+ encodeRequestBody({
224
+ body: new ArrayBuffer(MAX_BINARY_BODY_BYTES + 1),
225
+ bodyType: "binary",
226
+ }),
227
+ );
228
+ expectBinaryDataRedacted(binaryError.details.data);
229
+
230
+ const multipartError = getRestApiValidationError(() =>
231
+ encodeRequestBody({
232
+ body: {
233
+ file: {
234
+ value: new Uint8Array(MAX_BINARY_BODY_BYTES + 1),
235
+ filename: "too-large.bin",
236
+ },
237
+ },
238
+ bodyType: "multipartForm",
239
+ }),
240
+ );
241
+ expectBinaryDataRedacted(multipartError.details.data);
242
+
243
+ const invalidPartError = getRestApiValidationError(() =>
244
+ encodeRequestBody({
245
+ body: {
246
+ file: {
247
+ contentType: "application/octet-stream",
248
+ filename: "too-large.bin",
249
+ value: Uint8Array.from(PNG_BYTES),
250
+ },
251
+ },
252
+ bodyType: "multipartForm",
253
+ }),
254
+ );
255
+ expect(invalidPartError.details.data).toEqual({
256
+ contentType: "application/octet-stream",
257
+ filename: "too-large.bin",
258
+ value: REDACTED_BINARY_RESPONSE_DATA,
259
+ });
260
+ });
261
+
262
+ it("encodes multipart primitive, string-file, and mixed binary file parts", () => {
263
+ expect(
264
+ encodeRequestBody({
265
+ body: { active: true, amount: 42, note: "hello" },
266
+ bodyType: "multipartForm",
267
+ }),
268
+ ).toEqual({
269
+ bodyType: "formData",
270
+ formData: [
271
+ { key: "active", value: "true" },
272
+ { key: "amount", value: "42" },
273
+ { key: "note", value: "hello" },
274
+ ],
275
+ injectedHeaders: [],
276
+ });
277
+ expect(
278
+ encodeRequestBody({
279
+ body: {
280
+ empty: { value: "", filename: "empty.txt" },
281
+ file: {
282
+ value: "hello",
283
+ filename: "hello.txt",
284
+ contentType: undefined,
285
+ },
286
+ },
287
+ bodyType: "multipartForm",
288
+ }),
289
+ ).toEqual({
290
+ bodyType: "formData",
291
+ formData: [
292
+ { key: "empty", value: "", file: { filename: "empty.txt" } },
293
+ { key: "file", value: "hello", file: { filename: "hello.txt" } },
294
+ ],
295
+ injectedHeaders: [],
296
+ });
297
+ expect(
298
+ encodeRequestBody({
299
+ body: {
300
+ image: { value: Uint8Array.from(PNG_BYTES), filename: "b.png" },
301
+ note: "mixed",
302
+ textFile: { value: "cafe \u00e9", filename: "note.txt" },
303
+ },
304
+ bodyType: "multipartForm",
305
+ }),
306
+ ).toEqual({
307
+ bodyType: "formDataBase64",
308
+ formData: [
309
+ { key: "image", value: PNG_BASE64, file: { filename: "b.png" } },
310
+ { key: "note", value: "mixed" },
311
+ {
312
+ key: "textFile",
313
+ value: Buffer.from("cafe \u00e9", "utf8").toString("base64"),
314
+ file: { filename: "note.txt" },
315
+ },
316
+ ],
317
+ injectedHeaders: [],
318
+ });
319
+ });
320
+
321
+ it("rejects malformed multipart bodies", () => {
322
+ expect(() =>
323
+ encodeRequestBody({
324
+ body: { file: "hello" },
325
+ bodyType: "multipartForm",
326
+ headers: { "Content-Type": "multipart/form-data" },
327
+ }),
328
+ ).toThrow(/boundary/);
329
+ const invalidBodies = [
330
+ {},
331
+ { "": "missing" },
332
+ { file: Uint8Array.from(PNG_BYTES) },
333
+ {
334
+ file: {
335
+ contentType: "image/png",
336
+ filename: "b.png",
337
+ value: Uint8Array.from(PNG_BYTES),
338
+ },
339
+ },
340
+ { file: { value: "hello", filename: "" } },
341
+ {
342
+ file: {
343
+ value: new Uint8Array(MAX_BINARY_BODY_BYTES + 1),
344
+ filename: "too-large.bin",
345
+ },
346
+ },
347
+ ];
348
+ for (const body of invalidBodies) {
349
+ expect(() =>
350
+ encodeRequestBody({ body, bodyType: "multipartForm" }),
351
+ ).toThrow(RestApiValidationError);
352
+ }
353
+ expect(() =>
354
+ encodeRequestBody({
355
+ body: { file: { value: "contents" } },
356
+ bodyType: "multipartForm",
357
+ }),
358
+ ).toThrow(/missing required key: filename/);
359
+ expect(() =>
360
+ encodeRequestBody({
361
+ body: {
362
+ file: {
363
+ value: "contents",
364
+ filename: "contents.txt",
365
+ contentType: "text/plain",
366
+ },
367
+ },
368
+ bodyType: "multipartForm",
369
+ }),
370
+ ).toThrow(/unexpected key: contentType/);
371
+ });
372
+
373
+ it("rejects multipart bodies whose total file-part bytes exceed the request budget", () => {
374
+ const partBytes = Math.floor(MAX_BINARY_BODY_BYTES / 2) + 1;
375
+ const first = "a".repeat(partBytes);
376
+ const second = "b".repeat(partBytes);
377
+
378
+ expect(() =>
379
+ encodeRequestBody({
380
+ body: {
381
+ first: { value: first, filename: "first.txt" },
382
+ second: { value: second, filename: "second.txt" },
383
+ },
384
+ bodyType: "multipartForm",
385
+ }),
386
+ ).toThrow(/20 MiB/);
387
+ });
388
+
389
+ it("rejects raw and multipart field bodies that exceed the request budget", () => {
390
+ const tooLarge = "x".repeat(MAX_BINARY_BODY_BYTES + 1);
391
+
392
+ expect(() =>
393
+ encodeRequestBody({ body: tooLarge, bodyType: "raw" }),
394
+ ).toThrow(/request bodies must be 20 MiB or smaller/);
395
+ expect(() =>
396
+ encodeRequestBody({
397
+ body: { csv: tooLarge },
398
+ bodyType: "multipartForm",
399
+ }),
400
+ ).toThrow(/request bodies must be 20 MiB or smaller/);
401
+ });
402
+ });