diff --git a/pages/api/user/avatar.ts b/pages/api/user/avatar.ts index 550723fc3f..1c24841348 100644 --- a/pages/api/user/avatar.ts +++ b/pages/api/user/avatar.ts @@ -22,7 +22,17 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) .update(user?.email as string) .digest("hex"); const img = user?.avatar; - if (img) { + if (!img) { + res.writeHead(302, { + Location: defaultAvatarSrc({ md5: emailMd5 }), + }); + res.end(); + } else if (!img.includes("data:image")) { + res.writeHead(302, { + Location: img, + }); + res.end(); + } else { const decoded = img .toString() .replace("data:image/png;base64,", "") @@ -33,10 +43,5 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) "Content-Length": imageResp.length, }); res.end(imageResp); - } else { - res.writeHead(302, { - Location: defaultAvatarSrc({ md5: emailMd5 }), - }); - res.end(); } }