lib/util/data-server.js
function formatFilter(filter, clientIp) {
    if (!filter.url && !filter.name && !filter.value && !filter.ip) {
      return;
    }
    var url = util.trimStr(filter.url).toLowerCase();
    var name = util.trimStr(filter.name).toLowerCase();
    var value = util.trimStr(filter.value).toLowerCase();
    var ip = util.trimStr(filter.ip);
    var list = [];
    if (ip === 'self') {
      ip = clientIp;
    } else if (ip && !net.isIP(ip)) {
      ip.split(',').forEach(function(item) {
        item = item.trim();
        if (item === 'self') {
          item = clientIp;
        }
        if (net.isIP(item) && list.indexOf(item) === -1) {
          list.push(item);
        }
      });
      ip = null;
    }
    var result;
    if (url) {
      result = {};
      result.url = url;
    }
    if (name && value) {
      result = result || {};
      result.name = name;
      result.value = value;
    }
    if (ip) {
      result = result || {};
      result.ip = ip;
    }
    if (list.length) {
      result = result || {};
      result.ipList = list.slice(0, 16);
    }
    return result;
  }
function formatFilter(filter, clientIp) {
    if (!filter.url && !filter.name && !filter.value && !filter.ip) {
      return;
    }
    var url = util.trimStr(filter.url).toLowerCase();
    var name = util.trimStr(filter.name).toLowerCase();
    var value = util.trimStr(filter.value).toLowerCase();
    var ip = util.trimStr(filter.ip);
    var list = [];
    if (ip === 'self') {
      ip = clientIp;
    } else if (ip && !net.isIP(ip)) {
      ip.split(',').forEach(function(item) {
        item = item.trim();
        if (item === 'self') {
          item = clientIp;
        }
        if (net.isIP(item) && list.indexOf(item) === -1) {
          list.push(item);
        }
      });
      ip = null;
    }
    var result;
    if (url) {
      result = {};
      result.url = url;
    }
    if (name && value) {
      result = result || {};
      result.name = name;
      result.value = value;
    }
    if (ip) {
      result = result || {};
      result.ip = ip;
    }
    if (list.length) {
      result = result || {};
      result.ipList = list.slice(0, 16);
    }
    return result;
  }
function formatFilter ( filter , clientIp ) { if ( ! filter . url && ! filter . name && ! filter . value && ! filter . ip ) { return ; } var url = util . trimStr ( filter . url ) . toLowerCase ( ) ; var name = util . trimStr ( filter . name ) . toLowerCase ( ) ; var value = util . trimStr ( filter . value ) . toLowerCase ( ) ; var ip = util . trimStr ( filter . ip ) ; var list = [ ] ; if ( ip === 'self' ) { ip = clientIp ; } else if ( ip && ! net . isIP ( ip ) ) { ip . split ( ',' ) . forEach ( function ( item ) { item = item . trim ( ) ; if ( item === 'self' ) { item = clientIp ; } if ( net . isIP ( item ) && list . indexOf ( item ) === - 1 ) { list . push ( item ) ; } } ) ; ip = null ; } var result ; if ( url ) { result = { } ; result . url = url ; } if ( name && value ) { result = result || { } ; result . name = name ; result . value = value ; } if ( ip ) { result = result || { } ; result . ip = ip ; } if ( list . length ) { result = result || { } ; result . ipList = list . slice ( 0 , 16 ) ; } return result ; }
options: {
startTime: timestamp || timestamp + '-' + count
count: 获取新数据的数量
ids: 请未结束的id列表
}

@param options
options : { startTime : timestamp || timestamp + - + count count : 获取新数据的数量 ids : 请未结束的id列表 }