зеркало из https://github.com/mozilla/fxa.git
Merge pull request #5111 from mozilla/fxa-1766
fix(sentry): Fix sentry reporting in customs server
This commit is contained in:
Коммит
8ced4b8780
|
@ -0,0 +1,73 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
'use strict';
|
||||
|
||||
const Hoek = require('@hapi/hoek');
|
||||
const Sentry = require('@sentry/node');
|
||||
const version = require('../package.json').version;
|
||||
|
||||
async function configureSentry(server, config, log) {
|
||||
const sentryDsn = config.sentryDsn;
|
||||
if (sentryDsn) {
|
||||
Sentry.init({
|
||||
dsn: sentryDsn,
|
||||
release: version,
|
||||
integrations: [
|
||||
new Sentry.Integrations.LinkedErrors({ key: 'jse_cause' }),
|
||||
],
|
||||
});
|
||||
|
||||
Sentry.configureScope(scope => {
|
||||
scope.setTag('process', 'customs_server');
|
||||
});
|
||||
|
||||
// Attach a new Sentry scope to the request for breadcrumbs/tags/extras
|
||||
server.ext({
|
||||
type: 'onRequest',
|
||||
method(request, h) {
|
||||
request.sentryScope = new Sentry.Scope();
|
||||
return h.continue;
|
||||
},
|
||||
});
|
||||
log.info({ op: 'sentryEnabled' });
|
||||
} else {
|
||||
log.info({ op: 'sentryDisabled' });
|
||||
}
|
||||
|
||||
// Sentry handler for hapi errors
|
||||
server.events.on({ name: 'request', channels: 'error' }, (request, event) => {
|
||||
const err = (event && event.error) || null;
|
||||
|
||||
if (sentryDsn) {
|
||||
let exception = '';
|
||||
if (err && err.stack) {
|
||||
try {
|
||||
exception = err.stack.split('\n')[0];
|
||||
} catch (e) {
|
||||
// ignore bad stack frames
|
||||
}
|
||||
}
|
||||
Sentry.withScope(scope => {
|
||||
scope.addEventProcessor(_sentryEvent => {
|
||||
const sentryEvent = Sentry.Handlers.parseRequest(
|
||||
_sentryEvent,
|
||||
request.raw.req
|
||||
);
|
||||
sentryEvent.level = Sentry.Severity.Error;
|
||||
return sentryEvent;
|
||||
});
|
||||
scope.setExtra('exception', exception);
|
||||
|
||||
// Merge the request scope into the temp scope
|
||||
Hoek.merge(scope, request.sentryScope);
|
||||
Sentry.captureException(err);
|
||||
});
|
||||
}
|
||||
|
||||
log.error({ op: 'error', message: err.message });
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { configureSentry };
|
|
@ -12,7 +12,7 @@ const packageJson = require('../package.json');
|
|||
const blockReasons = require('./block_reasons');
|
||||
const P = require('bluebird');
|
||||
P.promisifyAll(Memcached.prototype);
|
||||
const Raven = require('raven');
|
||||
const { configureSentry } = require('./sentry');
|
||||
const dataflow = require('./dataflow');
|
||||
|
||||
module.exports = async function createServer(config, log) {
|
||||
|
@ -31,16 +31,6 @@ module.exports = async function createServer(config, log) {
|
|||
blockListManager.pollForUpdates();
|
||||
}
|
||||
|
||||
const sentryDsn = config.sentryDsn;
|
||||
|
||||
if (sentryDsn) {
|
||||
// configure Sentry
|
||||
Raven.config(sentryDsn, {});
|
||||
log.info({ op: 'sentryEnabled' });
|
||||
} else {
|
||||
log.info({ op: 'sentryDisabled' });
|
||||
}
|
||||
|
||||
var mc = new Memcached(config.memcache.address, {
|
||||
timeout: 500,
|
||||
retries: 1,
|
||||
|
@ -105,6 +95,8 @@ module.exports = async function createServer(config, log) {
|
|||
host: config.listen.host,
|
||||
});
|
||||
|
||||
await configureSentry(api, config, log);
|
||||
|
||||
function logError(err) {
|
||||
log.error({ op: 'memcachedError', err: err });
|
||||
throw err;
|
||||
|
|
|
@ -499,23 +499,6 @@
|
|||
"@hapi/hoek": "9.x.x"
|
||||
}
|
||||
},
|
||||
"@netflix/nerror": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.2.tgz",
|
||||
"integrity": "sha512-c01MmkM3Oi0BkTV4odMpr+58uXlxRKUPcu1ONR+sU3YAFAW4pP1j2b0opS9jX+an3ldpBJtiompzAEFZdlc8YQ==",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"extsprintf": "^1.4.0",
|
||||
"lodash": "^4.17.15"
|
||||
},
|
||||
"dependencies": {
|
||||
"extsprintf": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz",
|
||||
"integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@opencensus/core": {
|
||||
"version": "0.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@opencensus/core/-/core-0.0.9.tgz",
|
||||
|
@ -838,6 +821,116 @@
|
|||
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
|
||||
"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
|
||||
},
|
||||
"@sentry/apm": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/apm/-/apm-5.15.5.tgz",
|
||||
"integrity": "sha512-2PyifsiQdvFEQhbL7tQnCKGLOO1JtZeqso3bc6ARJBvKxM77mtyMo/D0C2Uzt9sXCYiALhQ1rbB1aY8iYyglpg==",
|
||||
"requires": {
|
||||
"@sentry/browser": "5.15.5",
|
||||
"@sentry/hub": "5.15.5",
|
||||
"@sentry/minimal": "5.15.5",
|
||||
"@sentry/types": "5.15.5",
|
||||
"@sentry/utils": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sentry/browser": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.15.5.tgz",
|
||||
"integrity": "sha512-rqDvjk/EvogfdbZ4TiEpxM/lwpPKmq23z9YKEO4q81+1SwJNua53H60dOk9HpRU8nOJ1g84TMKT2Ov8H7sqDWA==",
|
||||
"requires": {
|
||||
"@sentry/core": "5.15.5",
|
||||
"@sentry/types": "5.15.5",
|
||||
"@sentry/utils": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sentry/core": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.15.5.tgz",
|
||||
"integrity": "sha512-enxBLv5eibBMqcWyr+vApqeix8uqkfn0iGsD3piKvoMXCgKsrfMwlb/qo9Ox0lKr71qIlZVt+9/A2vZohdgnlg==",
|
||||
"requires": {
|
||||
"@sentry/hub": "5.15.5",
|
||||
"@sentry/minimal": "5.15.5",
|
||||
"@sentry/types": "5.15.5",
|
||||
"@sentry/utils": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sentry/hub": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.15.5.tgz",
|
||||
"integrity": "sha512-zX9o49PcNIVMA4BZHe//GkbQ4Jx+nVofqU/Il32/IbwKhcpPlhGX3c1sOVQo4uag3cqd/JuQsk+DML9TKkN0Lw==",
|
||||
"requires": {
|
||||
"@sentry/types": "5.15.5",
|
||||
"@sentry/utils": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sentry/minimal": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.15.5.tgz",
|
||||
"integrity": "sha512-zQkkJ1l9AjmU/Us5IrOTzu7bic4sTPKCatptXvLSTfyKW7N6K9MPIIFeSpZf9o1yM2sRYdK7GV08wS2eCT3JYw==",
|
||||
"requires": {
|
||||
"@sentry/hub": "5.15.5",
|
||||
"@sentry/types": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sentry/node": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.15.5.tgz",
|
||||
"integrity": "sha512-BK0iTOiiIM0UnydLeT/uUBY1o1Sp85aqwaQRMfZbjMCsgXERLNGvzzV68FDH1cyC1nR6dREK3Gs8bxS4S54aLQ==",
|
||||
"requires": {
|
||||
"@sentry/apm": "5.15.5",
|
||||
"@sentry/core": "5.15.5",
|
||||
"@sentry/hub": "5.15.5",
|
||||
"@sentry/types": "5.15.5",
|
||||
"@sentry/utils": "5.15.5",
|
||||
"cookie": "^0.3.1",
|
||||
"https-proxy-agent": "^4.0.0",
|
||||
"lru_map": "^0.3.3",
|
||||
"tslib": "^1.9.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"agent-base": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
|
||||
"integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
|
||||
"integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
|
||||
"requires": {
|
||||
"agent-base": "5",
|
||||
"debug": "4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@sentry/types": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.15.5.tgz",
|
||||
"integrity": "sha512-F9A5W7ucgQLJUG4LXw1ZIy4iLevrYZzbeZ7GJ09aMlmXH9PqGThm1t5LSZlVpZvUfQ2rYA8NU6BdKJSt7B5LPw=="
|
||||
},
|
||||
"@sentry/utils": {
|
||||
"version": "5.15.5",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.15.5.tgz",
|
||||
"integrity": "sha512-Nl9gl/MGnzSkuKeo3QaefoD/OJrFLB8HmwQ7HUbTXb6E7yyEzNKAQMHXGkwNAjbdYyYbd42iABP6Y5F/h39NtA==",
|
||||
"requires": {
|
||||
"@sentry/types": "5.15.5",
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-1.2.0.tgz",
|
||||
|
@ -1880,32 +1973,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"csv": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/csv/-/csv-5.3.0.tgz",
|
||||
"integrity": "sha512-Q4Kid1hhScm0ciMVhMMl3gMZaIk0YNJnnpfp7LNXGnvnntjf4BMhB9h15v6A4ftNh7QRc/wPBot9pQgManKAuQ==",
|
||||
"requires": {
|
||||
"csv-generate": "^3.2.3",
|
||||
"csv-parse": "^4.8.0",
|
||||
"csv-stringify": "^5.3.3",
|
||||
"stream-transform": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"csv-generate": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.2.3.tgz",
|
||||
"integrity": "sha512-IcR3K0Nx+nJAkcU2eAglVR7DuHnxcuhUM2w2cR+aHOW7bZp2S5LyN2HF3zTkp6BV/DjR6ykoKznUm+AjnWcOKg=="
|
||||
},
|
||||
"csv-parse": {
|
||||
"version": "4.8.2",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.8.2.tgz",
|
||||
"integrity": "sha512-WfYwyJepTbjS5jWAWpVskOJ8Z10231HaFw6qJhSjGrpfMPf3yuoRohlasYsP/6/3YgTQcvZpTvoUo37eaei9Fw=="
|
||||
},
|
||||
"csv-stringify": {
|
||||
"version": "5.3.3",
|
||||
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.3.3.tgz",
|
||||
"integrity": "sha512-q8Qj+/lN74LRmG7Mg0LauE5WcnJOD5MEGe1gI57IYJCB61KWuEbAFHm1uIPDkI26aqElyBB57SlE2GGwq2EY5A=="
|
||||
},
|
||||
"culvert": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/culvert/-/culvert-0.1.2.tgz",
|
||||
|
@ -2040,16 +2107,6 @@
|
|||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
|
||||
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
|
||||
},
|
||||
"destroy": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
||||
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
|
||||
},
|
||||
"detect-node": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
|
||||
"integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw=="
|
||||
},
|
||||
"diff": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||
|
@ -2108,11 +2165,6 @@
|
|||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||
},
|
||||
"emitter-listener": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz",
|
||||
|
@ -2128,11 +2180,6 @@
|
|||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": true
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||
|
@ -2207,22 +2254,12 @@
|
|||
"es6-promise": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"escape-html": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
|
||||
},
|
||||
"escape-regexp": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/escape-regexp/-/escape-regexp-0.0.1.tgz",
|
||||
"integrity": "sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ=",
|
||||
"dev": true
|
||||
},
|
||||
"escape-regexp-component": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
|
||||
"integrity": "sha1-nGO20LJf8qiMOtvRjFthrMO5+qI="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
|
@ -2427,11 +2464,6 @@
|
|||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||
"dev": true
|
||||
},
|
||||
"etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
|
||||
},
|
||||
"event-target-shim": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||
|
@ -2449,14 +2481,6 @@
|
|||
"integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=",
|
||||
"dev": true
|
||||
},
|
||||
"ewma": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz",
|
||||
"integrity": "sha512-MYYK17A76cuuyvkR7MnqLW4iFYPEi5Isl2qb8rXiWpLiwFS9dxW/rncuNnjjgSENuVqZQkIuR4+DChVL4g1lnw==",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"exit": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
||||
|
@ -2484,11 +2508,6 @@
|
|||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-decode-uri-component": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz",
|
||||
"integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg=="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
|
@ -2576,16 +2595,6 @@
|
|||
"pkg-dir": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"find-my-way": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-2.2.1.tgz",
|
||||
"integrity": "sha512-pzZA9/PlhDGG5PRzmd4vH4AbKW7FO68RE7q2I3NzjJHcVPukYbDA7bPdArg7ySKfS6pKki+qhrawFoN6aNZfjA==",
|
||||
"requires": {
|
||||
"fast-decode-uri-component": "^1.0.0",
|
||||
"safe-regex2": "^2.0.0",
|
||||
"semver-store": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"find-up": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
|
||||
|
@ -2770,16 +2779,6 @@
|
|||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"formidable": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
|
||||
"integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg=="
|
||||
},
|
||||
"fresh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
|
||||
},
|
||||
"fs-exists-cached": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz",
|
||||
|
@ -3189,11 +3188,6 @@
|
|||
"mime": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"handle-thing": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
|
||||
"integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ=="
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz",
|
||||
|
@ -3321,45 +3315,6 @@
|
|||
"integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
|
||||
"dev": true
|
||||
},
|
||||
"hpack.js": {
|
||||
"version": "2.1.6",
|
||||
"resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
|
||||
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"obuf": "^1.0.0",
|
||||
"readable-stream": "^2.0.1",
|
||||
"wbuf": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"http-deceiver": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
|
||||
"integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
||||
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
|
||||
"requires": {
|
||||
"depd": "~1.1.2",
|
||||
"inherits": "2.0.3",
|
||||
"setprototypeof": "1.1.0",
|
||||
"statuses": ">= 1.4.0 < 2"
|
||||
},
|
||||
"dependencies": {
|
||||
"depd": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
}
|
||||
}
|
||||
},
|
||||
"http-proxy-agent": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
|
||||
|
@ -4058,7 +4013,8 @@
|
|||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.at": {
|
||||
"version": "4.6.0",
|
||||
|
@ -4160,10 +4116,10 @@
|
|||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"lsmod": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz",
|
||||
"integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks="
|
||||
"lru_map": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz",
|
||||
"integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0="
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "2.1.0",
|
||||
|
@ -4281,11 +4237,6 @@
|
|||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||
"dev": true
|
||||
},
|
||||
"minimalistic-assert": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
|
||||
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
|
@ -4316,11 +4267,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"mixme": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/mixme/-/mixme-0.3.2.tgz",
|
||||
"integrity": "sha512-tilCZOvIhRETXJuTmxxpz8mgplF7gmFhcH05JuR/YL+JLO98gLRQ1Mk4XpYQxxbPMKupSOv+Bidw7EKv8wds1w=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
|
@ -4426,11 +4372,6 @@
|
|||
"sax": "^1.2.4"
|
||||
}
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
|
||||
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
|
||||
},
|
||||
"neo-async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
|
||||
|
@ -4728,19 +4669,6 @@
|
|||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||
"dev": true
|
||||
},
|
||||
"obuf": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
|
||||
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
|
||||
"requires": {
|
||||
"ee-first": "1.1.1"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
@ -5009,6 +4937,7 @@
|
|||
"version": "2.0.17",
|
||||
"resolved": "https://registry.npmjs.org/pidusage/-/pidusage-2.0.17.tgz",
|
||||
"integrity": "sha512-N8X5v18rBmlBoArfS83vrnD0gIFyZkXEo7a5pAS2aT0i2OLVymFb2AzVg+v8l/QcXnE1JwZcaXR8daJcoJqtjw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2"
|
||||
}
|
||||
|
@ -5376,30 +5305,6 @@
|
|||
"integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==",
|
||||
"dev": true
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
|
||||
},
|
||||
"raven": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/raven/-/raven-2.3.0.tgz",
|
||||
"integrity": "sha1-lvFTRr2qQzs7bUcTCARQYVWDPWk=",
|
||||
"requires": {
|
||||
"cookie": "0.3.1",
|
||||
"lsmod": "1.0.0",
|
||||
"stack-trace": "0.0.9",
|
||||
"timed-out": "4.0.1",
|
||||
"uuid": "3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"uuid": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz",
|
||||
"integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg="
|
||||
}
|
||||
}
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz",
|
||||
|
@ -5659,73 +5564,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"restify": {
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/restify/-/restify-8.4.0.tgz",
|
||||
"integrity": "sha512-yqS/wJI0ZU78whO2VfCCnFY7/JSqJt7wTDIdaQUo/a4TzAaC5KXUzxbs+xW4afJCk3NefGYYuiSrFSBWwVw/NA==",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"bunyan": "^1.8.12",
|
||||
"csv": "^5.1.1",
|
||||
"dtrace-provider": "^0.8.1",
|
||||
"escape-regexp-component": "^1.0.2",
|
||||
"ewma": "^2.0.1",
|
||||
"find-my-way": "^2.0.1",
|
||||
"formidable": "^1.2.1",
|
||||
"http-signature": "^1.2.0",
|
||||
"lodash": "^4.17.11",
|
||||
"lru-cache": "^5.1.1",
|
||||
"mime": "^2.4.3",
|
||||
"negotiator": "^0.6.2",
|
||||
"once": "^1.4.0",
|
||||
"pidusage": "^2.0.17",
|
||||
"qs": "^6.7.0",
|
||||
"restify-errors": "^8.0.0",
|
||||
"semver": "^6.1.1",
|
||||
"send": "^0.16.2",
|
||||
"spdy": "^4.0.0",
|
||||
"uuid": "^3.3.2",
|
||||
"vasync": "^2.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bunyan": {
|
||||
"version": "1.8.12",
|
||||
"resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
|
||||
"integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=",
|
||||
"requires": {
|
||||
"dtrace-provider": "~0.8",
|
||||
"moment": "^2.10.6",
|
||||
"mv": "~2",
|
||||
"safe-json-stringify": "~1"
|
||||
}
|
||||
},
|
||||
"dtrace-provider": {
|
||||
"version": "0.8.8",
|
||||
"resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz",
|
||||
"integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"nan": "^2.14.0"
|
||||
}
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.9.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
|
||||
"integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA=="
|
||||
},
|
||||
"restify-errors": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/restify-errors/-/restify-errors-8.0.1.tgz",
|
||||
"integrity": "sha512-EFQpxS828J0SBTNuJjh+rHD0OE8BoqnaxMAzuKHRNnGt5BV/212HHQIelZG4zjZYpTDEiuVAhQYHwSGSzAz0Ag==",
|
||||
"requires": {
|
||||
"@netflix/nerror": "^1.0.0",
|
||||
"assert-plus": "^1.0.0",
|
||||
"lodash": "^4.17.15",
|
||||
"safe-json-stringify": "^1.0.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"restify-clients": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/restify-clients/-/restify-clients-2.5.0.tgz",
|
||||
|
@ -5798,6 +5636,7 @@
|
|||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/restify-errors/-/restify-errors-6.1.1.tgz",
|
||||
"integrity": "sha512-QSwjp1b0pHB8QQQwqaPJu+VroGHAGX+HeHqz50awIb8334SAENCKeCI1VAhN099n4h0UVNupJ99ozx0pkHdqew==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"lodash": "^4.17.4",
|
||||
|
@ -5805,11 +5644,6 @@
|
|||
"verror": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"restify-safe-json-formatter": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/restify-safe-json-formatter/-/restify-safe-json-formatter-0.3.0.tgz",
|
||||
"integrity": "sha512-Ekt8qKloBqfzUVDdFDcnY/iGXI4td0qiBDimw3/NCeH5X/xWuVR3h4slDhKldQgVFsBWCR9m2CscwH19HB4snw=="
|
||||
},
|
||||
"restore-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
|
||||
|
@ -5820,11 +5654,6 @@
|
|||
"signal-exit": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"ret": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
|
||||
"integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ=="
|
||||
},
|
||||
"retry": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz",
|
||||
|
@ -5887,14 +5716,6 @@
|
|||
"integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==",
|
||||
"optional": true
|
||||
},
|
||||
"safe-regex2": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
|
||||
"integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==",
|
||||
"requires": {
|
||||
"ret": "~0.2.0"
|
||||
}
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
|
@ -5906,77 +5727,17 @@
|
|||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
|
||||
"dev": true
|
||||
},
|
||||
"select-hose": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
|
||||
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
||||
},
|
||||
"semver-store": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz",
|
||||
"integrity": "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg=="
|
||||
},
|
||||
"send": {
|
||||
"version": "0.16.2",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
|
||||
"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"depd": "~1.1.2",
|
||||
"destroy": "~1.0.4",
|
||||
"encodeurl": "~1.0.2",
|
||||
"escape-html": "~1.0.3",
|
||||
"etag": "~1.8.1",
|
||||
"fresh": "0.5.2",
|
||||
"http-errors": "~1.6.2",
|
||||
"mime": "1.4.1",
|
||||
"ms": "2.0.0",
|
||||
"on-finished": "~2.3.0",
|
||||
"range-parser": "~1.2.0",
|
||||
"statuses": "~1.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"depd": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
|
||||
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
}
|
||||
}
|
||||
},
|
||||
"set-blocking": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
|
||||
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
|
||||
"dev": true
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
|
||||
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
|
@ -6225,61 +5986,6 @@
|
|||
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
|
||||
"dev": true
|
||||
},
|
||||
"spdy": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
|
||||
"integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
|
||||
"requires": {
|
||||
"debug": "^4.1.0",
|
||||
"handle-thing": "^2.0.0",
|
||||
"http-deceiver": "^1.2.7",
|
||||
"select-hose": "^2.0.0",
|
||||
"spdy-transport": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"spdy-transport": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
|
||||
"integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
|
||||
"requires": {
|
||||
"debug": "^4.1.0",
|
||||
"detect-node": "^2.0.4",
|
||||
"hpack.js": "^2.1.6",
|
||||
"obuf": "^1.1.2",
|
||||
"readable-stream": "^3.0.6",
|
||||
"wbuf": "^1.7.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
|
||||
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
|
@ -6302,35 +6008,17 @@
|
|||
"tweetnacl": "~0.14.0"
|
||||
}
|
||||
},
|
||||
"stack-trace": {
|
||||
"version": "0.0.9",
|
||||
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
|
||||
"integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU="
|
||||
},
|
||||
"stack-utils": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
|
||||
"integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
|
||||
"dev": true
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
|
||||
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
|
||||
},
|
||||
"stream-shift": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
|
||||
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
|
||||
},
|
||||
"stream-transform": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.0.1.tgz",
|
||||
"integrity": "sha512-GiTcO/rRvZP2R8WPwxmxCFP+Of1yIATuFAmYkvSLDfcD93X2WHiPwdgIqeFT2CvL1gyAsjQvu1nB6RDNQ5b2jw==",
|
||||
"requires": {
|
||||
"mixme": "^0.3.1"
|
||||
}
|
||||
},
|
||||
"string-width": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
|
||||
|
@ -7848,11 +7536,6 @@
|
|||
"integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
|
||||
"dev": true
|
||||
},
|
||||
"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="
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
|
@ -7949,8 +7632,7 @@
|
|||
"tslib": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
||||
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
|
@ -8123,14 +7805,6 @@
|
|||
"through": "~2.3.4"
|
||||
}
|
||||
},
|
||||
"vasync": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.0.tgz",
|
||||
"integrity": "sha1-z951GGChWCLbOxMrxZsRakra8Bs=",
|
||||
"requires": {
|
||||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
|
@ -8188,14 +7862,6 @@
|
|||
"resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz",
|
||||
"integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ=="
|
||||
},
|
||||
"wbuf": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
|
||||
"integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
|
||||
"requires": {
|
||||
"minimalistic-assert": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
"dependencies": {
|
||||
"@google-cloud/pubsub": "^1.1.5",
|
||||
"@hapi/hapi": "^19.1.1",
|
||||
"@hapi/hoek": "^9.0.4",
|
||||
"@sentry/node": "^5.15.5",
|
||||
"bl": "1.1.2",
|
||||
"bluebird": "3.3.4",
|
||||
"bunyan": "1.8.0",
|
||||
|
@ -32,8 +34,7 @@
|
|||
"ip-reputation-js-client": "4.1.0",
|
||||
"lodash.isequal": "4.5.0",
|
||||
"lodash.merge": "4.6.2",
|
||||
"memcached": "2.2.1",
|
||||
"raven": "2.3.0"
|
||||
"memcached": "2.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"audit-filter": "^0.5.0",
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
'use strict';
|
||||
|
||||
const { assert } = require('chai');
|
||||
const { test } = require('tap');
|
||||
const sinon = require('sinon');
|
||||
const Hapi = require('@hapi/hapi');
|
||||
const Sentry = require('@sentry/node');
|
||||
|
||||
const config = require('../../lib/config').getProperties();
|
||||
const configureSentry = require('../../lib/sentry').configureSentry;
|
||||
|
||||
const sandbox = sinon.createSandbox();
|
||||
const log = {
|
||||
info: () => {},
|
||||
error: () => {},
|
||||
};
|
||||
|
||||
let server;
|
||||
|
||||
test('Sentry emits error', async () => {
|
||||
server = new Hapi.Server({});
|
||||
config.sentryDsn = 'https://deadbeef:deadbeef@localhost/123';
|
||||
|
||||
await configureSentry(server, config, log);
|
||||
|
||||
const sentryCaptureSpy = sandbox.stub(Sentry, 'captureException');
|
||||
const scopeExtraSpy = sinon.fake();
|
||||
const scopeSpy = {
|
||||
addEventProcessor: sinon.fake(),
|
||||
setExtra: scopeExtraSpy,
|
||||
};
|
||||
sandbox.replace(Sentry, 'withScope', fn => fn(scopeSpy));
|
||||
const fullError = new Error('something went wrong');
|
||||
await server.events.emit({ name: 'request', channel: 'error' }, [
|
||||
{},
|
||||
{ error: fullError },
|
||||
]);
|
||||
|
||||
sentryCaptureSpy.calledOnceWith(fullError);
|
||||
assert.equal(scopeExtraSpy.calledOnce, true);
|
||||
});
|
Загрузка…
Ссылка в новой задаче