Commit 195974590b89d0ae6607bbfecda8ec71d1adcc5e
1 parent
5007c624
Exists in
master
and in
1 other branch
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 | }); |