diff --git a/aws.js b/aws.js index f138dc1..57cf0d5 100644 --- a/aws.js +++ b/aws.js @@ -3,12 +3,14 @@ const AWS = require('aws-sdk'); const fs = require('fs'); let accessKeyId, secretAccessKey; +let hasCacheSupport = false; if (fs.existsSync('./config.json')){ console.log('reading secrets from config.json...'); accessKeyId = require('./config.json').accessKeyId; secretAccessKey = require('./config.json').secretAccessKey; if (accessKeyId && secretAccessKey) { console.log('read secrets from config.json ok'); + hasCacheSupport = true; } else { throw new Error('read secrets from config.json failed'); } @@ -18,8 +20,9 @@ if (fs.existsSync('./config.json')){ secretAccessKey = process.env.secretAccessKey; if (accessKeyId && secretAccessKey) { console.log('read secrets from env ok'); + hasCacheSupport = true; } else { - throw new Error('read secrets from env failed'); + console.warn('read secrets from env failed'); } } @@ -96,6 +99,7 @@ const deleteObject = (bucket, key) => { } */ module.exports = { + hasCacheSupport, getObject, putObject, deleteObject, diff --git a/routes/preview.js b/routes/preview.js index ff476a3..ebcfa73 100644 --- a/routes/preview.js +++ b/routes/preview.js @@ -3,7 +3,7 @@ const http = require('http'); const mime = require('mime'); const fetch = require('node-fetch'); -const {getObject, putObject, deleteObject} = require('../aws.js'); +const {hasCacheSupport, getObject, putObject, deleteObject} = require('../aws.js'); const browserManager = require('../browser-manager.js'); const {renderTimeout} = require('../constants.js'); @@ -143,7 +143,7 @@ const _handlePreviewRequest = async (req, res) => { } })(); const {query = {}} = u; - const cache = !query['nocache']; + const cache = hasCacheSupport && !query['nocache']; if (spec) { const {url, hash, ext, type, height, width} = spec; const key = `${hash}/${ext}/${type}`;