Sha256: 7cb82d4a6c8799f74c90f493de75f0f8bd2f2afdd09571aa3c07d93441cada7f

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

#Send the error to the same host that served this file (I think)
class @WatCatcher
  appEnv: undefined
  appEnvsToWorryAbout: []

  constructor: (target=window) ->
    @oldErrorHandler = target.onerror
    target.onerror = @watHandler

  watHandler: (msg, url, line) =>
    if @appEnvsToWorryAbout.indexOf(@appEnv) >= 0
      xmlhttp = if window.XMLHttpRequest
          new XMLHttpRequest()
      else
          new ActiveXObject("Microsoft.XMLHTTP")

      params =  "wat[page_url]=#{escape(window.location.toString())}"
      params += "&wat[message]=#{escape(msg)}"
      params += "&wat[backtrace][]=#{escape(url+":"+line)}"
      params += "&wat[app_env]=#{escape(@appEnv)}"

      xmlhttp.open("POST", "/wats", true);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
      xmlhttp.send(params);

    if typeof @oldErrorHandler == 'function'
      @oldErrorHandler(msg, url, line)

window.watCatcher = new WatCatcher()

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wat_catcher-0.0.6 vendor/assets/javascripts/wat_catcher.coffee