Fixes processing of images in Netlify functions (#4820)

This commit is contained in:
Matthew Phillips 2022-09-20 15:33:01 -04:00 committed by GitHub
parent a08b178cdb
commit 9bfbd63f05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View file

@ -0,0 +1,5 @@
---
'@astrojs/netlify': patch
---
Fix processing of images in Netlify Functions

View file

@ -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,