Merge pull request #130 from mozilla/sentry-server
added sentry to server code
This commit is contained in:
commit
7b713a6105
32
package-lock.json
generated
32
package-lock.json
generated
@ -2539,6 +2539,11 @@
|
|||||||
"integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
|
"integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"json-stringify-safe": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||||
|
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||||
|
},
|
||||||
"json3": {
|
"json3": {
|
||||||
"version": "3.3.2",
|
"version": "3.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
|
||||||
@ -2771,6 +2776,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
|
||||||
"integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew=="
|
"integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew=="
|
||||||
},
|
},
|
||||||
|
"lsmod": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks="
|
||||||
|
},
|
||||||
"map-obj": {
|
"map-obj": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
|
||||||
@ -3475,6 +3485,23 @@
|
|||||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
|
||||||
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
|
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
|
||||||
},
|
},
|
||||||
|
"raven": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/raven/-/raven-2.1.0.tgz",
|
||||||
|
"integrity": "sha1-G2JOVjdNnJ2Tx0RIRhoqNWzjdSc=",
|
||||||
|
"dependencies": {
|
||||||
|
"stack-trace": {
|
||||||
|
"version": "0.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
|
||||||
|
"integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU="
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"raven-js": {
|
"raven-js": {
|
||||||
"version": "3.16.0",
|
"version": "3.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.16.0.tgz",
|
||||||
@ -4232,6 +4259,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"timed-out": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
|
||||||
|
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
|
||||||
|
},
|
||||||
"timers-browserify": {
|
"timers-browserify": {
|
||||||
"version": "1.4.2",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"helmet": "^3.6.1",
|
"helmet": "^3.6.1",
|
||||||
"jquery": "^3.2.1",
|
"jquery": "^3.2.1",
|
||||||
"mozlog": "^2.1.1",
|
"mozlog": "^2.1.1",
|
||||||
|
"raven": "^2.1.0",
|
||||||
"raven-js": "^3.16.0",
|
"raven-js": "^3.16.0",
|
||||||
"redis": "^2.7.1",
|
"redis": "^2.7.1",
|
||||||
"uglify-es": "3.0.19"
|
"uglify-es": "3.0.19"
|
||||||
|
@ -25,6 +25,11 @@ const conf = convict({
|
|||||||
sentry_id: {
|
sentry_id: {
|
||||||
format: String,
|
format: String,
|
||||||
default: 'https://cdf9a4f43a584f759586af8ceb2194f2@sentry.prod.mozaws.net/238',
|
default: 'https://cdf9a4f43a584f759586af8ceb2194f2@sentry.prod.mozaws.net/238',
|
||||||
|
env: 'P2P_SENTRY_CLIENT'
|
||||||
|
},
|
||||||
|
sentry_dsn: {
|
||||||
|
format: String,
|
||||||
|
default: 'localhost',
|
||||||
env: 'P2P_SENTRY_DSN'
|
env: 'P2P_SENTRY_DSN'
|
||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
@ -42,4 +47,5 @@ module.exports = props;
|
|||||||
|
|
||||||
module.exports.notLocalHost =
|
module.exports.notLocalHost =
|
||||||
props.env === 'production' &&
|
props.env === 'production' &&
|
||||||
props.s3_bucket !== 'localhost';
|
props.s3_bucket !== 'localhost' &&
|
||||||
|
props.sentry_dsn !== 'localhost';
|
||||||
|
@ -7,9 +7,14 @@ const helmet = require('helmet');
|
|||||||
const bytes = require('bytes');
|
const bytes = require('bytes');
|
||||||
const conf = require('./config.js');
|
const conf = require('./config.js');
|
||||||
const storage = require('./storage.js');
|
const storage = require('./storage.js');
|
||||||
|
const Raven = require('raven');
|
||||||
|
|
||||||
const notLocalHost = conf.notLocalHost;
|
const notLocalHost = conf.notLocalHost;
|
||||||
|
|
||||||
|
if (notLocalHost) {
|
||||||
|
Raven.config(conf.sentry_dsn).install();
|
||||||
|
}
|
||||||
|
|
||||||
const mozlog = require('./log.js');
|
const mozlog = require('./log.js');
|
||||||
|
|
||||||
const log = mozlog('portal.server');
|
const log = mozlog('portal.server');
|
||||||
@ -38,9 +43,9 @@ app.get('/', (req, res) => {
|
|||||||
|
|
||||||
app.get('/exists/:id', (req, res) => {
|
app.get('/exists/:id', (req, res) => {
|
||||||
const id = req.params.id;
|
const id = req.params.id;
|
||||||
storage.exists(id).then(doesExist => {
|
storage.exists(id).then(() => {
|
||||||
res.sendStatus(doesExist ? 200 : 404);
|
res.sendStatus(200);
|
||||||
});
|
}).catch(err => res.sendStatus(404));
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/download/:id', (req, res) => {
|
app.get('/download/:id', (req, res) => {
|
||||||
|
@ -49,7 +49,7 @@ function filename(id) {
|
|||||||
if (!err) {
|
if (!err) {
|
||||||
resolve(reply);
|
resolve(reply);
|
||||||
} else {
|
} else {
|
||||||
reject();
|
reject(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -58,7 +58,11 @@ function filename(id) {
|
|||||||
function exists(id) {
|
function exists(id) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
redis_client.exists(id, (rediserr, reply) => {
|
redis_client.exists(id, (rediserr, reply) => {
|
||||||
resolve(reply === 1);
|
if (reply === 1 && !rediserr) {
|
||||||
|
resolve();
|
||||||
|
} else {
|
||||||
|
reject(rediserr);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -44,12 +44,16 @@ const storage = proxyquire('../server/storage', {
|
|||||||
describe('Testing Exists from local filesystem', function() {
|
describe('Testing Exists from local filesystem', function() {
|
||||||
it('Exists returns true when file exists', function() {
|
it('Exists returns true when file exists', function() {
|
||||||
exists.callsArgWith(1, null, 1);
|
exists.callsArgWith(1, null, 1);
|
||||||
return storage.exists('test').then(reply => assert(reply));
|
return storage.exists('test')
|
||||||
|
.then(() => assert(1))
|
||||||
|
.catch(err => assert.fail())
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Exists returns false when file does not exist', function() {
|
it('Exists returns false when file does not exist', function() {
|
||||||
exists.callsArgWith(1, null, 0);
|
exists.callsArgWith(1, null, 0);
|
||||||
return storage.exists('test').then(reply => assert(!reply));
|
return storage.exists('test')
|
||||||
|
.then(() => assert.fail())
|
||||||
|
.catch(err => assert(1))
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user