s3: fix exists check

This commit is contained in:
Girish Ramakrishnan
2024-07-14 22:04:12 +02:00
parent 704999a05f
commit e9b6002f63

View File

@@ -153,10 +153,10 @@ async function exists(apiConfig, backupFilePath) {
Key: backupFilePath
};
const [error] = await safe(s3.headObject(params).promise());
if (!Object.keys(this.httpResponse.headers).some(h => h.startsWith('x-amz'))) throw new BoxError(BoxError.EXTERNAL_ERROR, 'not a s3 endpoint');
const [error, response] = await safe(s3.headObject(params).promise());
if (error && S3_NOT_FOUND(error)) return false;
if (error) throw new BoxError(BoxError.EXTERNAL_ERROR, `Error headObject ${backupFilePath}. Message: ${error.message} HTTP Code: ${error.code}`);
if (!response || typeof response.Metadata !== 'object') throw new BoxError(BoxError.EXTERNAL_ERROR, 'not a s3 endpoint');
return true;
} else { // list dir contents