extractError: function extractError()

in lib/client.js [64:100]


  extractError: function extractError(resp) {
    var codes = {
      304: 'NotModified',
      403: 'Forbidden',
      400: 'BadRequest',
      404: 'NotFound'
    };

    var code = resp.httpResponse.statusCode;
    var body = resp.httpResponse.body;
    let requestId = resp.httpResponse.headers['x-ots-request-id'] || resp.httpResponse.headers['x-ots-requestid'] || "";
    if (codes[code] && body.length === 0) {
      resp.error = TableStore.util.error(new Error(), {
        code: codes[resp.httpResponse.statusCode],
        message: requestId,
        headers: resp.httpResponse.headers
      });
    } else {
      var data;
      try {
        data = new TableStore.XML.Parser({}).parse(body.toString());
        resp.error = TableStore.util.error(new Error(), {
          code: data.Code || code,
          message: data.Message || requestId,
          headers: resp.httpResponse.headers
        });
      }
      catch (e) {
        data = body.toString() + " requestId:" + requestId;
        resp.error = TableStore.util.error(new Error(), {
          code: code,
          message: data,
          headers: resp.httpResponse.headers
        });
      }
    }
  },