anchor.diff:      var payload = req.hasPayload ? json.stringify(req.payload) : null;
       return httpHandler.request(url, req.httpMethod, payload: payload).then((resp) {
         if (resp.statusCode != 200) {
  +        Map jsonError = null;
  +        if (resp.bodyType == 'application/json') {
  +          jsonError = json.parse(resp.body);
  +        }
           throw new ProxyException(resp.statusCode,
  -            'API call returned status: ${resp.statusText}');
  +            'API call returned status: ${resp.statusText}', jsonError);
         }
         return req.responseDeserializer(resp.body);
       }).asStream();
  
positive.code:   final int statusCode;
    final String statusText;
    final String body;
  
    StreamyHttpResponse(this.statusCode, this.statusText, this.body);
  }
  
  abstract class StreamyHttpService {
  
negative.code: 
    final String message;
    final int code;
    final Map apiError;
  
    ProxyException(this.message, this.code, this.apiError);
  
    String toString() => '$code: $message';
  }
  