Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private async mkMessage(severity: string, msg: string): Promise {
const trace = await StackTrace.get()
// Shift off the generated promise wrappers.
for (let i = 0; i < 11; i++) {
if (trace[0].fileName.match(/.*(main|zone)\.js$/) ||
trace[0].fileName.match(/.*\/node_modules\/.*/)) {
trace.shift();
} else {
break;
}
}
const fn = trace[0].fileName.replace('webpack://', '');
const message = new LogMessage(
severity, msg,
`${trace[0].functionName} (${fn}:${trace[0].lineNumber})`, trace);
this.messages.push(message);
this.messagesSubject.next(this.messages);
$window.addEventListener('AngularContextException', function(e) {
rendering = true;
StackTrace.get()
.then(function(stack){
c_window.console.log('StackTrace.get', stack);
})
.catch(function(err){
c_window.console.log('StackTrace.catch', err);
});
c_window.cacheEngine.removeCache(url);
c_window.console.error("AngularContextException caught on server");
c_window.console.error(e);
utils.closeSession(c_window, window);
res.end('SERVER-ERROR');
});
function getTrace(conf: _Conf, cb: (StackFrame[]) => mixed) {
if (conf.stackTrace.length) {
if (conf.stackTraceAsync) {
Stacktrace.get().then(xs => setTimeout(() => cb(xs), 0));
} else {
cb(Stacktrace.getSync());
}
} else {
cb([]);
}
}