diff --git a/package.json b/package.json index 9ff7a739..2c40565b 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "lint": "npm-run-all lint:*", "lint:css": "stylelint 'public/*.css'", "lint:js": "eslint .", - "start": "cross-env NODE_ENV=production node server/portal_server", + "start": "node server/portal_server", "test": "mocha", "version": "node scripts/version" } diff --git a/server/config.js b/server/config.js index efe47a40..b038869e 100644 --- a/server/config.js +++ b/server/config.js @@ -3,7 +3,7 @@ const convict = require('convict'); const conf = convict({ s3_bucket: { format: String, - default: 'localhost', + default: '', env: 'P2P_S3_BUCKET' }, redis_host: { @@ -19,18 +19,17 @@ const conf = convict({ }, analytics_id: { format: String, - default: 'UA-101393094-1', + default: '', env: 'GOOGLE_ANALYTICS_ID' }, sentry_id: { format: String, - default: - 'https://cdf9a4f43a584f759586af8ceb2194f2@sentry.prod.mozaws.net/238', + default: '', env: 'P2P_SENTRY_CLIENT' }, sentry_dsn: { format: String, - default: 'localhost', + default: '', env: 'P2P_SENTRY_DSN' }, env: { @@ -45,8 +44,3 @@ conf.validate({ allowed: 'strict' }); const props = conf.getProperties(); module.exports = props; - -module.exports.notLocalHost = - props.env === 'production' && - props.s3_bucket !== 'localhost' && - props.sentry_dsn !== 'localhost'; diff --git a/server/log.js b/server/log.js index baebf52a..0042b6bc 100644 --- a/server/log.js +++ b/server/log.js @@ -1,12 +1,12 @@ const conf = require('./config.js'); -const notLocalHost = conf.notLocalHost; +const isProduction = conf.env === 'production' const mozlog = require('mozlog')({ app: 'FirefoxFileshare', - level: notLocalHost ? 'INFO' : 'verbose', - fmt: notLocalHost ? 'heka' : 'pretty', - debug: !notLocalHost + level: isProduction ? 'INFO' : 'verbose', + fmt: isProduction ? 'heka' : 'pretty', + debug: !isProduction }); module.exports = mozlog; diff --git a/server/portal_server.js b/server/portal_server.js index ab288df7..8684417f 100644 --- a/server/portal_server.js +++ b/server/portal_server.js @@ -9,9 +9,7 @@ const conf = require('./config.js'); const storage = require('./storage.js'); const Raven = require('raven'); -const notLocalHost = conf.notLocalHost; - -if (notLocalHost) { +if (conf.sentry_dsn) { Raven.config(conf.sentry_dsn).install(); } @@ -39,7 +37,6 @@ app.use(express.static(STATIC_PATH)); app.get('/', (req, res) => { res.render('index', { - shouldRenderAnalytics: notLocalHost, trackerId: conf.analytics_id, dsn: conf.sentry_id }); @@ -64,7 +61,6 @@ app.get('/download/:id', (req, res) => { res.render('download', { filename: filename, filesize: bytes(contentLength), - shouldRenderAnalytics: notLocalHost, trackerId: conf.analytics_id, dsn: conf.sentry_id }); @@ -93,7 +89,7 @@ app.get('/assets/download/:id', (req, res) => { }); const file_stream = storage.get(id); - file_stream.on(notLocalHost ? 'finish' : 'close', () => { + file_stream.on('end', () => { storage .forceDelete(id) .then(err => { @@ -149,7 +145,7 @@ app.post('/upload/:id', (req, res, next) => { req.busboy.on('file', (fieldname, file, filename) => { log.info('Uploading:', req.params.id); - const protocol = notLocalHost ? 'https' : req.protocol; + const protocol = conf.env === 'production' ? 'https' : req.protocol; const url = `${protocol}://${req.get('host')}/download/${req.params.id}/`; storage.set(req.params.id, file, filename, url).then(linkAndID => { diff --git a/server/storage.js b/server/storage.js index 9d089fa1..dedf0040 100644 --- a/server/storage.js +++ b/server/storage.js @@ -6,8 +6,6 @@ const fs = require('fs'); const path = require('path'); const crypto = require('crypto'); -const notLocalHost = conf.notLocalHost; - const mozlog = require('./log.js'); const log = mozlog('portal.storage'); @@ -22,7 +20,7 @@ redis_client.on('error', err => { log.info('Redis:', err); }); -if (notLocalHost) { +if (conf.s3_bucket) { module.exports = { filename: filename, exists: exists, diff --git a/test/aws.storage.test.js b/test/aws.storage.test.js index 20b180b6..8dbb468a 100644 --- a/test/aws.storage.test.js +++ b/test/aws.storage.test.js @@ -3,9 +3,6 @@ const sinon = require('sinon'); const proxyquire = require('proxyquire'); const crypto = require('crypto'); -const conf = require('../server/config.js'); -conf.notLocalHost = true; - const redisStub = {}; const exists = sinon.stub(); const hget = sinon.stub(); @@ -52,7 +49,10 @@ const storage = proxyquire('../server/storage', { './log.js': function() { return logStub; }, - 'aws-sdk': awsStub + 'aws-sdk': awsStub, + './config.js': { + s3_bucket: 'test' + } }); describe('Testing Length using aws', function() { diff --git a/test/local.storage.test.js b/test/local.storage.test.js index 6dcdd6f2..659710a6 100644 --- a/test/local.storage.test.js +++ b/test/local.storage.test.js @@ -2,8 +2,7 @@ const assert = require('assert'); const sinon = require('sinon'); const proxyquire = require('proxyquire'); -const conf = require('../server/config.js'); -conf.notLocalHost = false; +// const conf = require('../server/config.js'); const redisStub = {}; const exists = sinon.stub(); diff --git a/views/download.handlebars b/views/download.handlebars index f67df226..41a49da9 100644 --- a/views/download.handlebars +++ b/views/download.handlebars @@ -2,11 +2,13 @@ Download your file - {{> sentry dsn=dsn}} + {{#if dsn}} + {{> sentry dsn=dsn}} + {{/if}} - {{#if shouldRenderAnalytics}} + {{#if trackerId}} {{> analytics trackerId=trackerId}} {{/if}} diff --git a/views/index.handlebars b/views/index.handlebars index 4ef0788b..f6d101d7 100644 --- a/views/index.handlebars +++ b/views/index.handlebars @@ -2,11 +2,13 @@ Firefox Fileshare - {{> sentry dsn=dsn}} + {{#if dsn}} + {{> sentry dsn=dsn}} + {{/if}} - {{#if shouldRenderAnalytics}} + {{#if trackerId}} {{> analytics trackerId=trackerId}} {{/if}}