diff --git a/keyserver/src/services/blob.js b/keyserver/src/services/blob.js --- a/keyserver/src/services/blob.js +++ b/keyserver/src/services/blob.js @@ -1,7 +1,10 @@ // @flow import blobService from 'lib/facts/blob-service.js'; -import { makeBlobServiceEndpointURL } from 'lib/utils/blob-service.js'; +import { + getBlobFetchableURL, + makeBlobServiceEndpointURL, +} from 'lib/utils/blob-service.js'; import { getMessageForException } from 'lib/utils/errors.js'; async function uploadBlob(blob: Blob, hash: string): Promise { @@ -58,4 +61,15 @@ } } -export { upload, uploadBlob, assignHolder }; +async function download(hash: string): Promise { + const url = getBlobFetchableURL(hash); + const response = await fetch(url, { + method: blobService.httpEndpoints.GET_BLOB.method, + headers: { + 'content-type': 'application/json', + }, + }); + return response.blob(); +} + +export { upload, uploadBlob, assignHolder, download };