diff --git a/.codegen.json b/.codegen.json index 1c85cd9b..7d2dfec7 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "d1cb68d", "specHash": "9919482", "version": "1.3.0" } +{ "engineHash": "ab2fc63", "specHash": "9919482", "version": "1.3.0" } diff --git a/src/internal/utils.ts b/src/internal/utils.ts index a9c343ef..5b3b0738 100644 --- a/src/internal/utils.ts +++ b/src/internal/utils.ts @@ -186,7 +186,7 @@ export function decodeBase64ByteStream(data: string): Readable { : eval('require')('stream').Readable.from(Buffer.from(data, 'base64')); } -export async function readByteStream(byteStream: Readable) { +export async function readByteStream(byteStream: Readable): Promise { const buffers: Buffer[] = []; for await (const data of byteStream) { buffers.push(data); diff --git a/src/networking/fetch.ts b/src/networking/fetch.ts index dbca0efa..64861ed8 100644 --- a/src/networking/fetch.ts +++ b/src/networking/fetch.ts @@ -226,8 +226,15 @@ export async function fetch( options ) : options; - - const requestInit = await createRequestInit(fetchOptions); + const fileStreamBuffer = fetchOptions.fileStream + ? await readByteStream(fetchOptions.fileStream) + : void 0; + const requestInit = await createRequestInit({ + ...fetchOptions, + fileStream: fileStreamBuffer + ? generateByteStreamFromBuffer(fileStreamBuffer) + : void 0, + }); const { params = {} } = fetchOptions; const response = await nodeFetch( @@ -287,7 +294,13 @@ export async function fetch( await fetchOptions.auth.refreshToken(fetchOptions.networkSession); // retry the request right away - return fetch(resource, { ...fetchOptions, numRetries: numRetries + 1 }); + return fetch(resource, { + ...fetchOptions, + numRetries: numRetries + 1, + fileStream: fileStreamBuffer + ? generateByteStreamFromBuffer(fileStreamBuffer) + : void 0, + }); } const isRetryable =