Merge pull request #571 from ente-io/revert-to-non-worker-uploads

disable cf proxied upload
This commit is contained in:
Abhinav Kumar 2022-05-31 13:34:29 +05:30 committed by GitHub
commit eb65de290a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 65 additions and 23 deletions

View file

@ -52,3 +52,5 @@ export const NULL_EXTRACTED_METADATA: ParsedExtractedMetadata = {
};
export const A_SEC_IN_MICROSECONDS = 1e6;
export const USE_CF_PROXY = false;

View file

@ -12,6 +12,7 @@ import { getFileType } from 'services/typeDetectionService';
import { getLocalTrash, getTrashedFiles } from './trashService';
import { EncryptionResult, UploadURL } from 'types/upload';
import { fileAttribute } from 'types/file';
import { USE_CF_PROXY } from 'constants/upload';
const ENDPOINT = getEndpoint();
const REPLACE_THUMBNAIL_THRESHOLD = 500 * 1024; // 500KB
@ -108,12 +109,20 @@ export async function uploadThumbnail(
): Promise<fileAttribute> {
const { file: encryptedThumbnail }: EncryptionResult =
await worker.encryptThumbnail(updatedThumbnail, fileKey);
const thumbnailObjectKey = await uploadHttpClient.putFileV2(
uploadURL,
encryptedThumbnail.encryptedData as Uint8Array,
() => {}
);
let thumbnailObjectKey: string = null;
if (USE_CF_PROXY) {
thumbnailObjectKey = await uploadHttpClient.putFileV2(
uploadURL,
encryptedThumbnail.encryptedData as Uint8Array,
() => {}
);
} else {
thumbnailObjectKey = await uploadHttpClient.putFile(
uploadURL,
encryptedThumbnail.encryptedData as Uint8Array,
() => {}
);
}
return {
objectKey: thumbnailObjectKey,
decryptionHeader: encryptedThumbnail.decryptionHeader,

View file

@ -1,6 +1,7 @@
import {
FILE_CHUNKS_COMBINED_FOR_A_UPLOAD_PART,
RANDOM_PERCENTAGE_PROGRESS_FOR_PUT,
USE_CF_PROXY,
} from 'constants/upload';
import UIService from './uiService';
import UploadHttpClient from './uploadHttpClient';
@ -56,12 +57,20 @@ export async function uploadStreamInParts(
percentPerPart,
index
);
const eTag = await UploadHttpClient.putFilePartV2(
fileUploadURL,
uploadChunk,
progressTracker
);
let eTag = null;
if (USE_CF_PROXY) {
eTag = await UploadHttpClient.putFilePartV2(
fileUploadURL,
uploadChunk,
progressTracker
);
} else {
eTag = await UploadHttpClient.putFilePart(
fileUploadURL,
uploadChunk,
progressTracker
);
}
partEtags.push({ PartNumber: index + 1, ETag: eTag });
}
const { done } = await streamReader.read();
@ -103,5 +112,9 @@ async function completeMultipartUpload(
{ CompleteMultipartUpload: { Part: partEtags } },
options
);
await UploadHttpClient.completeMultipartUploadV2(completeURL, body);
if (USE_CF_PROXY) {
await UploadHttpClient.completeMultipartUploadV2(completeURL, body);
} else {
await UploadHttpClient.completeMultipartUpload(completeURL, body);
}
}

View file

@ -32,6 +32,7 @@ import {
import { encryptFile, getFileSize, readFile } from './fileService';
import { uploadStreamUsingMultipart } from './multiPartUploadService';
import UIService from './uiService';
import { USE_CF_PROXY } from 'constants/upload';
class UploadService {
private uploadURLs: UploadURL[] = [];
@ -141,18 +142,35 @@ class UploadService {
file.localID
);
const fileUploadURL = await this.getUploadURL();
fileObjectKey = await UploadHttpClient.putFileV2(
fileUploadURL,
file.file.encryptedData,
progressTracker
);
if (USE_CF_PROXY) {
fileObjectKey = await UploadHttpClient.putFileV2(
fileUploadURL,
file.file.encryptedData,
progressTracker
);
} else {
fileObjectKey = await UploadHttpClient.putFile(
fileUploadURL,
file.file.encryptedData,
progressTracker
);
}
}
const thumbnailUploadURL = await this.getUploadURL();
const thumbnailObjectKey = await UploadHttpClient.putFileV2(
thumbnailUploadURL,
file.thumbnail.encryptedData as Uint8Array,
null
);
let thumbnailObjectKey: string = null;
if (USE_CF_PROXY) {
thumbnailObjectKey = await UploadHttpClient.putFileV2(
thumbnailUploadURL,
file.thumbnail.encryptedData as Uint8Array,
null
);
} else {
thumbnailObjectKey = await UploadHttpClient.putFile(
thumbnailUploadURL,
file.thumbnail.encryptedData as Uint8Array,
null
);
}
const backupedFile: BackupedFile = {
file: {