24 lines
		
	
	
		
			818 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			818 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { Handlers, captureException } from '@sentry/node';
 | 
						|
import { sentry } from '../../../config/secrets';
 | 
						|
import { isHandledError } from '../utils/create-handled-error';
 | 
						|
 | 
						|
// sends directly to Sentry
 | 
						|
export function reportError(err) {
 | 
						|
  return sentry.dns === 'dsn_from_sentry_dashboard'
 | 
						|
    ? console.error(err)
 | 
						|
    : captureException(err);
 | 
						|
}
 | 
						|
 | 
						|
// determines which errors should be reported
 | 
						|
export default function sentryErrorHandler() {
 | 
						|
  return sentry.dns === 'dsn_from_sentry_dashboard'
 | 
						|
    ? (req, res, next) => next()
 | 
						|
    : Handlers.errorHandler({
 | 
						|
        shouldHandleError(err) {
 | 
						|
          // CSRF errors have status 403, consider ignoring them once csurf is
 | 
						|
          // no longer rejecting people incorrectly.
 | 
						|
          return !isHandledError(err) && (!err.status || err.status >= 500);
 | 
						|
        }
 | 
						|
      });
 | 
						|
}
 |