diff --git a/lib/utils/blob-service.js b/lib/utils/blob-service.js --- a/lib/utils/blob-service.js +++ b/lib/utils/blob-service.js @@ -57,13 +57,18 @@ * Generates random blob holder prefixed by current device ID */ async function generateBlobHolder(): Promise { - const randomID = uuid.v4(); + const generateHolder = await createBlobHolderGenerator(); + return generateHolder(); +} + +async function createBlobHolderGenerator(): Promise<() => string> { try { const deviceID = await getContentSigningKey(); const urlSafeDeviceID = toBase64URL(deviceID); - return `${urlSafeDeviceID}:${randomID}`; + return () => `${urlSafeDeviceID}:${uuid.v4()}`; } catch { - return randomID; + // for Flow + return () => `${uuid.v4()}`; } } @@ -73,6 +78,7 @@ blobHashFromURI, blobHashFromBlobServiceURI, generateBlobHolder, + createBlobHolderGenerator, getBlobFetchableURL, makeBlobServiceEndpointURL, };