summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src/netlify-functions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/netlify/src/netlify-functions.ts')
-rw-r--r--packages/integrations/netlify/src/netlify-functions.ts11
1 files changed, 8 insertions, 3 deletions
diff --git a/packages/integrations/netlify/src/netlify-functions.ts b/packages/integrations/netlify/src/netlify-functions.ts
index d40254f96..c6b253b0d 100644
--- a/packages/integrations/netlify/src/netlify-functions.ts
+++ b/packages/integrations/netlify/src/netlify-functions.ts
@@ -36,6 +36,7 @@ export const createExports = (manifest: SSRManifest, args: Args) => {
'image/bmp',
'image/gif',
'image/vnd.microsoft.icon',
+ 'image/heif',
'image/jpeg',
'image/png',
'image/svg+xml',
@@ -84,9 +85,13 @@ export const createExports = (manifest: SSRManifest, args: Args) => {
const responseContentType = parseContentType(responseHeaders['content-type']);
const responseIsBase64Encoded = knownBinaryMediaTypes.has(responseContentType);
- const responseBody = responseIsBase64Encoded
- ? Buffer.from(await response.text(), 'binary').toString('base64')
- : await response.text();
+ let responseBody: string;
+ if(responseIsBase64Encoded) {
+ const ab = await response.arrayBuffer();
+ responseBody = Buffer.from(ab).toString('base64');
+ } else {
+ responseBody = await response.text();
+ }
const fnResponse: any = {
statusCode: response.status,