throw error if stream not done after all partUploadFinish
This commit is contained in:
parent
50c3953a86
commit
e25fabf500
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue