summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-09-20 15:33:01 -0400
committerGravatar GitHub <noreply@github.com> 2022-09-20 15:33:01 -0400
commit9bfbd63f05d21b51f7fd726fc4c16949919529a0 (patch)
treecfed68527cfa68e5107a88f45d69719e150e75cc /packages/integrations/netlify
parenta08b178cdbd00f682c917d63c2a6e16f09cfd1e6 (diff)
downloadastro-9bfbd63f05d21b51f7fd726fc4c16949919529a0.tar.gz
astro-9bfbd63f05d21b51f7fd726fc4c16949919529a0.tar.zst
astro-9bfbd63f05d21b51f7fd726fc4c16949919529a0.zip
Fixes processing of images in Netlify functions (#4820)
Diffstat (limited to 'packages/integrations/netlify')
-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,