code: function executeRequest(opType, options) {
      if (token) {
          options.token = token;
      }
  
      // TODO: need to handle ETAG values
      var context = api.getOperationContext(opType, options);
  
      return new Promise((resolve, reject) => {
          request(context, (err, response, body) => {
              if (err || response.statusCode >= 400 || (context.method == 'GET' && !body)) {
                  reject(new ApiError(response.statusCode, context, err));
              } else {
                  resolve(body);
              }
          });
      });
  }
docs: TODO: need tests for this component 
  Executes the given request
  
  @param {string} opType Type of the operation
  @param {object} options Options of the operation