mirror of https://github.com/lidarr/Lidarr
49 lines
1.0 KiB
JavaScript
49 lines
1.0 KiB
JavaScript
import _ from 'lodash';
|
|
import Raven from 'raven-js';
|
|
import createRavenMiddleware from 'raven-for-redux';
|
|
import parseUrl from 'Utilities/String/parseUrl';
|
|
|
|
function cleanseUrl(url) {
|
|
const properties = parseUrl(url);
|
|
|
|
return `${properties.pathname}${properties.search}`;
|
|
}
|
|
|
|
function cleanseData(data) {
|
|
const result = _.cloneDeep(data);
|
|
|
|
result.culprit = cleanseUrl(result.culprit);
|
|
result.request.url = cleanseUrl(result.request.url);
|
|
|
|
return result;
|
|
}
|
|
|
|
export default function sentryMiddleware() {
|
|
const {
|
|
analytics,
|
|
branch,
|
|
version,
|
|
release,
|
|
isProduction
|
|
} = window.Sonarr;
|
|
|
|
if (!analytics) {
|
|
return;
|
|
}
|
|
|
|
const dsn = isProduction ? 'https://c3a5b33e08de4e18b7d0505e942dbc95@sentry.io/216290' :
|
|
'https://c3a5b33e08de4e18b7d0505e942dbc95@sentry.io/216290';
|
|
|
|
Raven.config(dsn).install();
|
|
|
|
return createRavenMiddleware(Raven, {
|
|
environment: isProduction ? 'production' : 'development',
|
|
release,
|
|
tags: {
|
|
branch,
|
|
version
|
|
},
|
|
dataCallback: cleanseData
|
|
});
|
|
}
|