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 | 2 | VERSION : '2.0', |
| 3 | 3 | NOTICE_XML : '<?xml version="1.0" encoding="UTF-8"?>\ |
| 4 | 4 | <notice version="2.0">\ |
| 5 | 5 | <api-key></api-key>\ |
| 6 | 6 | <notifier>\ |
| 7 | - <name>hoptoad_notifier_js</name>\ | |
| 7 | + <name>errbit_notifier_js</name>\ | |
| 8 | 8 | <version>2.0</version>\ |
| 9 | - <url>http://hoptoadapp.com</url>\ | |
| 9 | + <url>http://NOTIFIER_HOST</url>\ | |
| 10 | 10 | </notifier>\ |
| 11 | 11 | <error>\ |
| 12 | 12 | <class>EXCEPTION_CLASS</class>\ |
| ... | ... | @@ -28,8 +28,8 @@ var Hoptoad = { |
| 28 | 28 | backtrace_filters : [/notifier\.js/], |
| 29 | 29 | |
| 30 | 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 | 33 | var url = '//' + host + '/notifier_api/v2/notices?data=' + xml; |
| 34 | 34 | var request = document.createElement('iframe'); |
| 35 | 35 | |
| ... | ... | @@ -44,42 +44,42 @@ var Hoptoad = { |
| 44 | 44 | setEnvironment: function(value) { |
| 45 | 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 | 48 | '<environment-name>' + |
| 49 | 49 | value + |
| 50 | 50 | '</environment-name>') |
| 51 | 51 | }, |
| 52 | 52 | |
| 53 | 53 | setHost: function(value) { |
| 54 | - Hoptoad.host = value; | |
| 54 | + Errbit.host = value; | |
| 55 | 55 | }, |
| 56 | 56 | |
| 57 | 57 | setKey: function(value) { |
| 58 | 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 | 61 | '<api-key>' + |
| 62 | 62 | value + |
| 63 | 63 | '</api-key>'); |
| 64 | 64 | }, |
| 65 | 65 | |
| 66 | 66 | setErrorDefaults: function(value) { |
| 67 | - Hoptoad.errorDefaults = value; | |
| 67 | + Errbit.errorDefaults = value; | |
| 68 | 68 | }, |
| 69 | 69 | |
| 70 | 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 | 83 | xml = xml.replace(/<request>.*<\/request>/, ''); |
| 84 | 84 | } else { |
| 85 | 85 | var data = ''; |
| ... | ... | @@ -87,7 +87,7 @@ var Hoptoad = { |
| 87 | 87 | var cgi_data = error['cgi-data'] || {}; |
| 88 | 88 | cgi_data["HTTP_USER_AGENT"] = navigator.userAgent; |
| 89 | 89 | data += '<cgi-data>'; |
| 90 | - data += Hoptoad.generateVariables(cgi_data); | |
| 90 | + data += Errbit.generateVariables(cgi_data); | |
| 91 | 91 | data += '</cgi-data>'; |
| 92 | 92 | |
| 93 | 93 | var methods = ['params', 'session']; |
| ... | ... | @@ -97,18 +97,19 @@ var Hoptoad = { |
| 97 | 97 | |
| 98 | 98 | if (error[type]) { |
| 99 | 99 | data += '<' + type + '>'; |
| 100 | - data += Hoptoad.generateVariables(error[type]); | |
| 100 | + data += Errbit.generateVariables(error[type]); | |
| 101 | 101 | data += '</' + type + '>'; |
| 102 | 102 | } |
| 103 | 103 | } |
| 104 | 104 | |
| 105 | 105 | xml = xml.replace('</request>', data + '</request>') |
| 106 | + .replace('NOTIFIER_HOST', host) | |
| 106 | 107 | .replace('REQUEST_URL', url) |
| 107 | 108 | .replace('REQUEST_ACTION', action) |
| 108 | 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 | 113 | .replace('EXCEPTION_CLASS', type) |
| 113 | 114 | .replace('EXCEPTION_MESSAGE', message) |
| 114 | 115 | .replace('BACKTRACE_LINES', backtrace.join('')); |
| ... | ... | @@ -126,14 +127,14 @@ var Hoptoad = { |
| 126 | 127 | } |
| 127 | 128 | |
| 128 | 129 | var backtrace = []; |
| 129 | - var stacktrace = Hoptoad.getStackTrace(error); | |
| 130 | + var stacktrace = Errbit.getStackTrace(error); | |
| 130 | 131 | |
| 131 | 132 | for (var i = 0, l = stacktrace.length; i < l; i++) { |
| 132 | 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 | 139 | if (i == 0) { |
| 139 | 140 | if (matches[2].match(document.location.href)) { |
| ... | ... | @@ -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 | 147 | '" number="' + matches[3] + '" />'); |
| 147 | 148 | } |
| 148 | 149 | } |
| ... | ... | @@ -169,8 +170,8 @@ var Hoptoad = { |
| 169 | 170 | }, |
| 170 | 171 | |
| 171 | 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 | 175 | return false; |
| 175 | 176 | } |
| 176 | 177 | } |
| ... | ... | @@ -183,8 +184,8 @@ var Hoptoad = { |
| 183 | 184 | var result = ''; |
| 184 | 185 | |
| 185 | 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 | 189 | '</var>'; |
| 189 | 190 | } |
| 190 | 191 | |
| ... | ... | @@ -283,7 +284,7 @@ guessFunctionName:function(a,b){try{return this.guessFunctionNameFromLines(b,thi |
| 283 | 284 | |
| 284 | 285 | window.onerror = function(message, file, line) { |
| 285 | 286 | setTimeout(function() { |
| 286 | - Hoptoad.notify({ | |
| 287 | + Errbit.notify({ | |
| 287 | 288 | message : message, |
| 288 | 289 | stack : '()@' + file + ':' + line |
| 289 | 290 | }); | ... | ... |