From 23a6d6e81d3cfacc8cb1707b00527368bdc4dbe7 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Fri, 9 Nov 2018 14:05:07 +0000 Subject: [PATCH] consider 403 and 404 as NotFound errors --- services/filestore/app/coffee/S3PersistorManager.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/filestore/app/coffee/S3PersistorManager.coffee b/services/filestore/app/coffee/S3PersistorManager.coffee index 2bd6eb0e9b..0bb713deb0 100644 --- a/services/filestore/app/coffee/S3PersistorManager.coffee +++ b/services/filestore/app/coffee/S3PersistorManager.coffee @@ -74,7 +74,9 @@ module.exports = s3Stream = s3Client.get(key, headers) s3Stream.end() s3Stream.on 'response', (res) -> - if res.statusCode == 404 + if res.statusCode in [403, 404] + # S3 returns a 403 instead of a 404 when the user doesn't have + # permission to list the bucket contents. logger.log bucketName:bucketName, key:key, "file not found in s3" return callback new Errors.NotFoundError("File not found in S3: #{bucketName}:#{key}"), null if res.statusCode not in [200, 206]