throw error if stream not done after all partUploadFinish

This commit is contained in:
Abhinav-grd 2021-08-13 19:44:40 +05:30
parent 50c3953a86
commit e25fabf500
2 changed files with 6 additions and 0 deletions

View file

@ -5,6 +5,7 @@ import {
import UploadHttpClient from './uploadHttpClient'; import UploadHttpClient from './uploadHttpClient';
import * as convert from 'xml-js'; import * as convert from 'xml-js';
import UIService, { RANDOM_PERCENTAGE_PROGRESS_FOR_PUT } from './uiService'; import UIService, { RANDOM_PERCENTAGE_PROGRESS_FOR_PUT } from './uiService';
import { CustomError } from 'utils/common/errorUtil';
interface PartEtag { interface PartEtag {
PartNumber: number; PartNumber: number;
@ -68,6 +69,10 @@ export async function uploadStreamInParts(
); );
partEtags.push({ PartNumber: index + 1, ETag: eTag }); partEtags.push({ PartNumber: index + 1, ETag: eTag });
} }
const { done } = await streamReader.read();
if (!done) {
throw Error(CustomError.CHUNK_MORE_THAN_EXPECTED);
}
await completeMultipartUpload(partEtags, multipartUploadURLs.completeURL); await completeMultipartUpload(partEtags, multipartUploadURLs.completeURL);
return multipartUploadURLs.objectKey; return multipartUploadURLs.objectKey;
} }

View file

@ -14,6 +14,7 @@ export const CustomError = {
ETAG_MISSING: 'no header/etag present in response body', ETAG_MISSING: 'no header/etag present in response body',
KEY_MISSING: 'encrypted key missing from localStorage', KEY_MISSING: 'encrypted key missing from localStorage',
FAILED_TO_LOAD_WEB_WORKER: 'failed to load web worker', FAILED_TO_LOAD_WEB_WORKER: 'failed to load web worker',
CHUNK_MORE_THAN_EXPECTED: 'chunks more than expected',
}; };
export function parseError(error) { export function parseError(error) {