From ab3371213e23751722f20e8a4bbfcc9866de66a4 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sun, 22 May 2016 13:51:57 +0200 Subject: [PATCH] second attempt at fixing exporting avatar --- website/server/controllers/top-level/dataexport.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js index 731534a19b..a1dc1c9303 100644 --- a/website/server/controllers/top-level/dataexport.js +++ b/website/server/controllers/top-level/dataexport.js @@ -198,10 +198,18 @@ api.exportUserAvatarPng = { let filename = `avatars/${memberId}.png`; let s3url = `https://${S3_BUCKET}+'.s3.amazonaws.com/${filename}`; - let response = await got.head(s3url); + + let response; + try { + response = await got.head(s3url); + } catch (gotError) { + if (gotError.code !== 'ENOTFOUND' && gotError.statusCode !== 404) { + throw gotError; + } + } // cache images for 10 minutes on aws, else upload a new one - if (response.statusCode === 200 && moment().diff(response.headers['last-modified'], 'minutes') < 10) { + if (response && response.statusCode === 200 && moment().diff(response.headers['last-modified'], 'minutes') < 10) { return res.redirect(301, s3url); }