title: Why isn't the onError handler firing in the Http.call() future?
body: <p>I'm attempting to make a web request using the Http service.  The request is failing (as expected) and returning a 403.  I would expect that the onError handler would execute, but it's not.  An exception is thrown and never caught.</p>
  
  <pre class="lang-dart prettyprint-override"><code>_http(url: '/widgets/shiny-trinket', method: 'PUT', data: 'some malformed data')
    .then((resp) =&gt; successHandler, 
    onError: (resp) {
      // why aren't we getting here?
      displayErrorMessage();
    });
  </code></pre>
  
  <p>The exception that's thrown (from the console):</p>
  
  <pre><code>Failed to load resource: the server responded with a status of 403 (Forbidden)
    http://localhost/widgets/shiny-trinket
  Instance of '_XMLHttpRequestProgressEvent'
  
  STACKTRACE:
  null
  </code></pre>
  
  <p>Am I doing something wrong?  Or is this a bug?</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>I've also tried the following, and it also doesn't work.</p>
  
  <pre class="lang-dart prettyprint-override"><code>_http(url: '/widgets/shiny-trinket', method: 'PUT', data: 'some malformed data')
    .then((resp) =&gt; successHandler) 
    .catchError((e) {
      // why aren't we getting here?
      displayErrorMessage();
    });
  </code></pre>