Commit 195974590b89d0ae6607bbfecda8ec71d1adcc5e

Authored by Nathan Broadbent
1 parent 5007c624
Exists in master and in 1 other branch production

Replaced "Hoptoad" with "Errbit".

Showing 1 changed file with 33 additions and 32 deletions   Show diff stats
public/javascripts/notifier.js
1 -var Hoptoad = { 1 +var Errbit = {
2 VERSION : '2.0', 2 VERSION : '2.0',
3 NOTICE_XML : '<?xml version="1.0" encoding="UTF-8"?>\ 3 NOTICE_XML : '<?xml version="1.0" encoding="UTF-8"?>\
4 <notice version="2.0">\ 4 <notice version="2.0">\
5 <api-key></api-key>\ 5 <api-key></api-key>\
6 <notifier>\ 6 <notifier>\
7 - <name>hoptoad_notifier_js</name>\ 7 + <name>errbit_notifier_js</name>\
8 <version>2.0</version>\ 8 <version>2.0</version>\
9 - <url>http://hoptoadapp.com</url>\ 9 + <url>http://NOTIFIER_HOST</url>\
10 </notifier>\ 10 </notifier>\
11 <error>\ 11 <error>\
12 <class>EXCEPTION_CLASS</class>\ 12 <class>EXCEPTION_CLASS</class>\
@@ -28,8 +28,8 @@ var Hoptoad = { @@ -28,8 +28,8 @@ var Hoptoad = {
28 backtrace_filters : [/notifier\.js/], 28 backtrace_filters : [/notifier\.js/],
29 29
30 notify: function(error) { 30 notify: function(error) {
31 - var xml = escape(Hoptoad.generateXML(error));  
32 - var host = Hoptoad.host || 'hoptoadapp.com'; 31 + var xml = escape(Errbit.generateXML(error));
  32 + var host = Errbit.host || 'github.com/jdpace/errbit';
33 var url = '//' + host + '/notifier_api/v2/notices?data=' + xml; 33 var url = '//' + host + '/notifier_api/v2/notices?data=' + xml;
34 var request = document.createElement('iframe'); 34 var request = document.createElement('iframe');
35 35
@@ -44,42 +44,42 @@ var Hoptoad = { @@ -44,42 +44,42 @@ var Hoptoad = {
44 setEnvironment: function(value) { 44 setEnvironment: function(value) {
45 var matcher = /<environment-name>.*<\/environment-name>/; 45 var matcher = /<environment-name>.*<\/environment-name>/;
46 46
47 - Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(matcher, 47 + Errbit.NOTICE_XML = Errbit.NOTICE_XML.replace(matcher,
48 '<environment-name>' + 48 '<environment-name>' +
49 value + 49 value +
50 '</environment-name>') 50 '</environment-name>')
51 }, 51 },
52 52
53 setHost: function(value) { 53 setHost: function(value) {
54 - Hoptoad.host = value; 54 + Errbit.host = value;
55 }, 55 },
56 56
57 setKey: function(value) { 57 setKey: function(value) {
58 var matcher = /<api-key>.*<\/api-key>/; 58 var matcher = /<api-key>.*<\/api-key>/;
59 59
60 - Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(matcher, 60 + Errbit.NOTICE_XML = Errbit.NOTICE_XML.replace(matcher,
61 '<api-key>' + 61 '<api-key>' +
62 value + 62 value +
63 '</api-key>'); 63 '</api-key>');
64 }, 64 },
65 65
66 setErrorDefaults: function(value) { 66 setErrorDefaults: function(value) {
67 - Hoptoad.errorDefaults = value; 67 + Errbit.errorDefaults = value;
68 }, 68 },
69 69
70 generateXML: function(errorWithoutDefaults) { 70 generateXML: function(errorWithoutDefaults) {
71 - var error = Hoptoad.mergeDefault(Hoptoad.errorDefaults, errorWithoutDefaults); 71 + var error = Errbit.mergeDefault(Errbit.errorDefaults, errorWithoutDefaults);
72 72
73 - var xml = Hoptoad.NOTICE_XML;  
74 - var url = Hoptoad.escapeText(error.url || '');  
75 - var component = Hoptoad.escapeText(error.component || '');  
76 - var action = Hoptoad.escapeText(error.action || '');  
77 - var type = Hoptoad.escapeText(error.type || 'Error');  
78 - var message = Hoptoad.escapeText(error.message || 'Unknown error.');  
79 - var backtrace = Hoptoad.generateBacktrace(error); 73 + var xml = Errbit.NOTICE_XML;
  74 + var url = Errbit.escapeText(error.url || '');
  75 + var component = Errbit.escapeText(error.component || '');
  76 + var action = Errbit.escapeText(error.action || '');
  77 + var type = Errbit.escapeText(error.type || 'Error');
  78 + var message = Errbit.escapeText(error.message || 'Unknown error.');
  79 + var backtrace = Errbit.generateBacktrace(error);
80 80
81 81
82 - if (Hoptoad.trim(url) == '' && Hoptoad.trim(component) == '') { 82 + if (Errbit.trim(url) == '' && Errbit.trim(component) == '') {
83 xml = xml.replace(/<request>.*<\/request>/, ''); 83 xml = xml.replace(/<request>.*<\/request>/, '');
84 } else { 84 } else {
85 var data = ''; 85 var data = '';
@@ -87,7 +87,7 @@ var Hoptoad = { @@ -87,7 +87,7 @@ var Hoptoad = {
87 var cgi_data = error['cgi-data'] || {}; 87 var cgi_data = error['cgi-data'] || {};
88 cgi_data["HTTP_USER_AGENT"] = navigator.userAgent; 88 cgi_data["HTTP_USER_AGENT"] = navigator.userAgent;
89 data += '<cgi-data>'; 89 data += '<cgi-data>';
90 - data += Hoptoad.generateVariables(cgi_data); 90 + data += Errbit.generateVariables(cgi_data);
91 data += '</cgi-data>'; 91 data += '</cgi-data>';
92 92
93 var methods = ['params', 'session']; 93 var methods = ['params', 'session'];
@@ -97,18 +97,19 @@ var Hoptoad = { @@ -97,18 +97,19 @@ var Hoptoad = {
97 97
98 if (error[type]) { 98 if (error[type]) {
99 data += '<' + type + '>'; 99 data += '<' + type + '>';
100 - data += Hoptoad.generateVariables(error[type]); 100 + data += Errbit.generateVariables(error[type]);
101 data += '</' + type + '>'; 101 data += '</' + type + '>';
102 } 102 }
103 } 103 }
104 104
105 xml = xml.replace('</request>', data + '</request>') 105 xml = xml.replace('</request>', data + '</request>')
  106 + .replace('NOTIFIER_HOST', host)
106 .replace('REQUEST_URL', url) 107 .replace('REQUEST_URL', url)
107 .replace('REQUEST_ACTION', action) 108 .replace('REQUEST_ACTION', action)
108 .replace('REQUEST_COMPONENT', component); 109 .replace('REQUEST_COMPONENT', component);
109 } 110 }
110 111
111 - return xml.replace('PROJECT_ROOT', Hoptoad.ROOT) 112 + return xml.replace('PROJECT_ROOT', Errbit.ROOT)
112 .replace('EXCEPTION_CLASS', type) 113 .replace('EXCEPTION_CLASS', type)
113 .replace('EXCEPTION_MESSAGE', message) 114 .replace('EXCEPTION_MESSAGE', message)
114 .replace('BACKTRACE_LINES', backtrace.join('')); 115 .replace('BACKTRACE_LINES', backtrace.join(''));
@@ -126,14 +127,14 @@ var Hoptoad = { @@ -126,14 +127,14 @@ var Hoptoad = {
126 } 127 }
127 128
128 var backtrace = []; 129 var backtrace = [];
129 - var stacktrace = Hoptoad.getStackTrace(error); 130 + var stacktrace = Errbit.getStackTrace(error);
130 131
131 for (var i = 0, l = stacktrace.length; i < l; i++) { 132 for (var i = 0, l = stacktrace.length; i < l; i++) {
132 var line = stacktrace[i]; 133 var line = stacktrace[i];
133 - var matches = line.match(Hoptoad.BACKTRACE_MATCHER); 134 + var matches = line.match(Errbit.BACKTRACE_MATCHER);
134 135
135 - if (matches && Hoptoad.validBacktraceLine(line)) {  
136 - var file = matches[2].replace(Hoptoad.ROOT, '[PROJECT_ROOT]'); 136 + if (matches && Errbit.validBacktraceLine(line)) {
  137 + var file = matches[2].replace(Errbit.ROOT, '[PROJECT_ROOT]');
137 138
138 if (i == 0) { 139 if (i == 0) {
139 if (matches[2].match(document.location.href)) { 140 if (matches[2].match(document.location.href)) {
@@ -141,8 +142,8 @@ var Hoptoad = { @@ -141,8 +142,8 @@ var Hoptoad = {
141 } 142 }
142 } 143 }
143 144
144 - backtrace.push('<line method="' + Hoptoad.escapeText(matches[1]) +  
145 - '" file="' + Hoptoad.escapeText(file) + 145 + backtrace.push('<line method="' + Errbit.escapeText(matches[1]) +
  146 + '" file="' + Errbit.escapeText(file) +
146 '" number="' + matches[3] + '" />'); 147 '" number="' + matches[3] + '" />');
147 } 148 }
148 } 149 }
@@ -169,8 +170,8 @@ var Hoptoad = { @@ -169,8 +170,8 @@ var Hoptoad = {
169 }, 170 },
170 171
171 validBacktraceLine: function(line) { 172 validBacktraceLine: function(line) {
172 - for (var i = 0; i < Hoptoad.backtrace_filters.length; i++) {  
173 - if (line.match(Hoptoad.backtrace_filters[i])) { 173 + for (var i = 0; i < Errbit.backtrace_filters.length; i++) {
  174 + if (line.match(Errbit.backtrace_filters[i])) {
174 return false; 175 return false;
175 } 176 }
176 } 177 }
@@ -183,8 +184,8 @@ var Hoptoad = { @@ -183,8 +184,8 @@ var Hoptoad = {
183 var result = ''; 184 var result = '';
184 185
185 for (key in parameters) { 186 for (key in parameters) {
186 - result += '<var key="' + Hoptoad.escapeText(key) + '">' +  
187 - Hoptoad.escapeText(parameters[key]) + 187 + result += '<var key="' + Errbit.escapeText(key) + '">' +
  188 + Errbit.escapeText(parameters[key]) +
188 '</var>'; 189 '</var>';
189 } 190 }
190 191
@@ -283,7 +284,7 @@ guessFunctionName:function(a,b){try{return this.guessFunctionNameFromLines(b,thi @@ -283,7 +284,7 @@ guessFunctionName:function(a,b){try{return this.guessFunctionNameFromLines(b,thi
283 284
284 window.onerror = function(message, file, line) { 285 window.onerror = function(message, file, line) {
285 setTimeout(function() { 286 setTimeout(function() {
286 - Hoptoad.notify({ 287 + Errbit.notify({
287 message : message, 288 message : message,
288 stack : '()@' + file + ':' + line 289 stack : '()@' + file + ':' + line
289 }); 290 });