Skip to content

Commit f8ceac0

Browse files
box-sdk-buildbox-sdk-build
and
box-sdk-build
authored
fix: Fix fetch method for multipart request (box/box-codegen#545) (#303)
Co-authored-by: box-sdk-build <[email protected]>
1 parent 293a6e9 commit f8ceac0

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

.codegen.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "d1cb68d", "specHash": "9919482", "version": "1.3.0" }
1+
{ "engineHash": "ab2fc63", "specHash": "9919482", "version": "1.3.0" }

src/internal/utils.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ export function decodeBase64ByteStream(data: string): Readable {
186186
: eval('require')('stream').Readable.from(Buffer.from(data, 'base64'));
187187
}
188188

189-
export async function readByteStream(byteStream: Readable) {
189+
export async function readByteStream(byteStream: Readable): Promise<Buffer> {
190190
const buffers: Buffer[] = [];
191191
for await (const data of byteStream) {
192192
buffers.push(data);

src/networking/fetch.ts

+16-3
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,15 @@ export async function fetch(
226226
options
227227
)
228228
: options;
229-
230-
const requestInit = await createRequestInit(fetchOptions);
229+
const fileStreamBuffer = fetchOptions.fileStream
230+
? await readByteStream(fetchOptions.fileStream)
231+
: void 0;
232+
const requestInit = await createRequestInit({
233+
...fetchOptions,
234+
fileStream: fileStreamBuffer
235+
? generateByteStreamFromBuffer(fileStreamBuffer)
236+
: void 0,
237+
});
231238

232239
const { params = {} } = fetchOptions;
233240
const response = await nodeFetch(
@@ -287,7 +294,13 @@ export async function fetch(
287294
await fetchOptions.auth.refreshToken(fetchOptions.networkSession);
288295

289296
// retry the request right away
290-
return fetch(resource, { ...fetchOptions, numRetries: numRetries + 1 });
297+
return fetch(resource, {
298+
...fetchOptions,
299+
numRetries: numRetries + 1,
300+
fileStream: fileStreamBuffer
301+
? generateByteStreamFromBuffer(fileStreamBuffer)
302+
: void 0,
303+
});
291304
}
292305

293306
const isRetryable =

0 commit comments

Comments
 (0)