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 | }); |