anchor.diff:      this._awsClient.get(uri).then((HttpClientResponse resp) {
         _readResponseAsString(resp).then((String responseText) {
           if (resp.reasonPhrase.toUpperCase() != 'OK') {
  -          completer.completeError(new ErrorResponse.fromXml(responseText));
  +          _handleError(responseText, completer);
           } else {
             final results = new ListBucketResult.fromXml(responseText);
             completer.complete(results);
  
positive.code:     this._awsClient.post(uri, payload).then((HttpClientResponse resp) {
        _readResponseAsString(resp).then((responseText) {
          if (resp.reasonPhrase.toUpperCase() != 'OK') {
            final err = new ErrorResponse.fromXml(responseText);
            _logger.warning(err.message);
            completer.completeError(err);
          } else {
            _logger.fine(responseText);
            final results = new DeleteResults.fromXml(responseText);
  
negative.code:     final payload = new RequestPayload.fromBytes(bytes, contentType);
      final uri = this._getUri(path: objectKey);
      this._awsClient.put(uri, payload).then((HttpClientResponse resp) {
        _readResponseAsString(resp).then((responseText) {
          if (resp.reasonPhrase.toUpperCase() != 'OK') {
            _handleError(responseText, completer);
          } else {
            completer.complete();
          }
        });
      });
      return completer.future;
    }
  