moved jsconfig code into initScript
This commit is contained in:
parent
416b9902cb
commit
d4528848d9
7 changed files with 101 additions and 96 deletions
|
@ -69,7 +69,6 @@ module.exports = function(app) {
|
|||
app.get('/', language, pages.index);
|
||||
app.get('/oauth', language, pages.blank);
|
||||
app.get('/legal', language, pages.legal);
|
||||
app.get('/jsconfig.js', require('./jsconfig'));
|
||||
app.get('/app.webmanifest', language, require('./webmanifest'));
|
||||
app.get(`/download/:id${ID_REGEX}`, language, pages.download);
|
||||
app.get('/unsupported/:reason', language, pages.unsupported);
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
const config = require('../config');
|
||||
const { getFxaConfig } = require('../fxa');
|
||||
|
||||
let sentry = '';
|
||||
if (config.sentry_id) {
|
||||
//eslint-disable-next-line node/no-missing-require
|
||||
const version = require('../../dist/version.json');
|
||||
sentry = `
|
||||
var RAVEN_CONFIG = {
|
||||
release: '${version.version}',
|
||||
tags: {
|
||||
commit: '${version.commit}'
|
||||
},
|
||||
dataCallback: function (data) {
|
||||
var hash = window.location.hash;
|
||||
if (hash) {
|
||||
return JSON.parse(JSON.stringify(data).replace(new RegExp(hash.slice(1), 'g'), ''));
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
var SENTRY_ID = '${config.sentry_id}';
|
||||
`;
|
||||
}
|
||||
|
||||
let ga = '';
|
||||
if (config.analytics_id) {
|
||||
ga = `var GOOGLE_ANALYTICS_ID = '${config.analytics_id}';`;
|
||||
}
|
||||
|
||||
module.exports = async function(req, res) {
|
||||
let authConfig = '';
|
||||
if (config.fxa_client_id) {
|
||||
try {
|
||||
const fxaConfig = await getFxaConfig();
|
||||
fxaConfig.client_id = config.fxa_client_id;
|
||||
authConfig = `var AUTH_CONFIG = ${JSON.stringify(fxaConfig)};`;
|
||||
} catch (e) {
|
||||
// continue without accounts
|
||||
}
|
||||
}
|
||||
/* eslint-disable no-useless-escape */
|
||||
const jsconfig = `
|
||||
var isIE = /trident\\\/7\.|msie/i.test(navigator.userAgent);
|
||||
var isUnsupportedPage = /\\\/unsupported/.test(location.pathname);
|
||||
if (isIE && !isUnsupportedPage) {
|
||||
window.location.replace('/unsupported/ie');
|
||||
}
|
||||
var LIMITS = {
|
||||
ANON: {
|
||||
MAX_FILE_SIZE: ${config.anon_max_file_size},
|
||||
MAX_DOWNLOADS: ${config.anon_max_downloads},
|
||||
MAX_EXPIRE_SECONDS: ${config.anon_max_expire_seconds},
|
||||
},
|
||||
MAX_FILE_SIZE: ${config.max_file_size},
|
||||
MAX_DOWNLOADS: ${config.max_downloads},
|
||||
MAX_EXPIRE_SECONDS: ${config.max_expire_seconds},
|
||||
MAX_FILES_PER_ARCHIVE: ${config.max_files_per_archive},
|
||||
MAX_ARCHIVES_PER_USER: ${config.max_archives_per_user}
|
||||
};
|
||||
var DEFAULTS = {
|
||||
DOWNLOAD_COUNTS: ${JSON.stringify(config.download_counts)},
|
||||
EXPIRE_TIMES_SECONDS: ${JSON.stringify(config.expire_times_seconds)},
|
||||
EXPIRE_SECONDS: ${config.default_expire_seconds}
|
||||
};
|
||||
${authConfig};
|
||||
${ga}
|
||||
${sentry}
|
||||
`;
|
||||
res.set('Content-Type', 'application/javascript');
|
||||
res.send(jsconfig);
|
||||
};
|
|
@ -9,16 +9,19 @@ function stripEvents(str) {
|
|||
}
|
||||
|
||||
module.exports = {
|
||||
index: function(req, res) {
|
||||
res.send(stripEvents(routes().toString('/', state(req))));
|
||||
index: async function(req, res) {
|
||||
const appState = await state(req);
|
||||
res.send(stripEvents(routes().toString('/', appState)));
|
||||
},
|
||||
|
||||
blank: function(req, res) {
|
||||
res.send(stripEvents(routes().toString('/blank', state(req))));
|
||||
blank: async function(req, res) {
|
||||
const appState = await state(req);
|
||||
res.send(stripEvents(routes().toString('/blank', appState)));
|
||||
},
|
||||
|
||||
download: async function(req, res, next) {
|
||||
const id = req.params.id;
|
||||
const appState = await state(req);
|
||||
try {
|
||||
const { nonce, pwd } = await storage.metadata(id);
|
||||
res.set('WWW-Authenticate', `send-v1 ${nonce}`);
|
||||
|
@ -26,7 +29,7 @@ module.exports = {
|
|||
stripEvents(
|
||||
routes().toString(
|
||||
`/download/${id}`,
|
||||
Object.assign(state(req), {
|
||||
Object.assign(appState, {
|
||||
downloadMetadata: { nonce, pwd }
|
||||
})
|
||||
)
|
||||
|
@ -37,22 +40,25 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
|
||||
unsupported: function(req, res) {
|
||||
unsupported: async function(req, res) {
|
||||
const appState = await state(req);
|
||||
res.send(
|
||||
stripEvents(
|
||||
routes().toString(
|
||||
`/unsupported/${req.params.reason}`,
|
||||
Object.assign(state(req), { fira: true })
|
||||
Object.assign(appState, { fira: true })
|
||||
)
|
||||
)
|
||||
);
|
||||
},
|
||||
|
||||
legal: function(req, res) {
|
||||
res.send(stripEvents(routes().toString('/legal', state(req))));
|
||||
legal: async function(req, res) {
|
||||
const appState = await state(req);
|
||||
res.send(stripEvents(routes().toString('/legal', appState)));
|
||||
},
|
||||
|
||||
notfound: function(req, res) {
|
||||
res.status(404).send(stripEvents(routes().toString('/404', state(req))));
|
||||
notfound: async function(req, res) {
|
||||
const appState = await state(req);
|
||||
res.status(404).send(stripEvents(routes().toString('/404', appState)));
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue