Merge pull request #311 from mozilla/expiredDownloadPage

expired ids should reject instead of returning null
This commit is contained in:
Danny Coates 2017-07-25 13:10:46 -07:00 committed by GitHub
commit 65c24990cd
4 changed files with 21 additions and 43 deletions

View File

@ -19,9 +19,7 @@ class FileReceiver extends EventEmitter {
xhr.onload = function(event) {
if (xhr.status === 404) {
reject(
new Error('notfound')
);
reject(new Error('notfound'));
return;
}

View File

@ -135,7 +135,7 @@ $(document).ready(function() {
event.preventDefault();
// don't allow upload if not on upload page
if ($('#page-one').attr('hidden')){
if ($('#page-one').attr('hidden')) {
return;
}

View File

@ -47,10 +47,7 @@ app.use(
'https://sentry.prod.mozaws.net',
'https://www.google-analytics.com'
],
imgSrc: [
"'self'",
'https://www.google-analytics.com'
],
imgSrc: ["'self'", 'https://www.google-analytics.com'],
scriptSrc: ["'self'"],
styleSrc: ["'self'", 'https://code.cdn.mozilla.net'],
fontSrc: ["'self'", 'https://code.cdn.mozilla.net'],
@ -116,10 +113,10 @@ app.get('/download/:id', (req, res) => {
return;
}
storage.filename(id).then(filename => {
storage
.length(id)
.then(contentLength => {
.filename(id)
.then(filename => {
return storage.length(id).then(contentLength => {
storage.ttl(id).then(timeToExpiry => {
res.render('download', {
filename: decodeURIComponent(filename),
@ -128,11 +125,11 @@ app.get('/download/:id', (req, res) => {
timeToExpiry: timeToExpiry
});
});
});
})
.catch(() => {
res.status(404).render('notfound');
});
});
});
app.get('/assets/download/:id', (req, res) => {

View File

@ -27,7 +27,6 @@ if (conf.s3_bucket) {
length: awsLength,
get: awsGet,
set: awsSet,
aad: aad,
setField: setField,
delete: awsDelete,
forceDelete: awsForceDelete,
@ -44,7 +43,6 @@ if (conf.s3_bucket) {
length: localLength,
get: localGet,
set: localSet,
aad: aad,
setField: setField,
delete: localDelete,
forceDelete: localForceDelete,
@ -66,11 +64,10 @@ function quit() {
function metadata(id) {
return new Promise((resolve, reject) => {
redis_client.hgetall(id, (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject(err);
if (err || !reply) {
return reject(err);
}
resolve(reply);
});
});
}
@ -78,11 +75,10 @@ function metadata(id) {
function ttl(id) {
return new Promise((resolve, reject) => {
redis_client.ttl(id, (err, reply) => {
if (!err) {
resolve(reply * 1000);
} else {
reject(err);
if (err || !reply) {
return reject(err);
}
resolve(reply * 1000);
});
});
}
@ -90,11 +86,10 @@ function ttl(id) {
function filename(id) {
return new Promise((resolve, reject) => {
redis_client.hget(id, 'filename', (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject(err);
if (err || !reply) {
return reject();
}
resolve(reply);
});
});
}
@ -115,18 +110,6 @@ function setField(id, key, value) {
redis_client.hset(id, key, value);
}
function aad(id) {
return new Promise((resolve, reject) => {
redis_client.hget(id, 'aad', (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject();
}
});
});
}
function localLength(id) {
return new Promise((resolve, reject) => {
try {