function handleReq(req, data) {
  var method = util.getMethod(data.method || req.method);
  req.method = method;
  req.timeout = parseInt(data.timeout, 10);
  extend(req.headers, data.headers);
  if (typeof data.charset == 'string') {
    var type = req.headers['content-type'];
    var charset = '; charset=' + data.charset;
    if (typeof type == 'string') {
      req.headers['content-type'] = type.split(';')[0] + charset;
    } else {
      req.headers['content-type'] = charset;
    }
  } else {
    delete data.charset;
  }
  if (!util.hasRequestBody(method)) {
    delete data.top;
    delete data.bottom;
    delete data.body;
    delete req.headers['content-length'];
  } else if (data.top || data.bottom || data.body) {
    delete req.headers['content-length'];
  }

  util.isWhistleTransformData(data) && req.addZipTransform(new WhistleTransform(data));
}
function handleReq(req, data) {
  var method = util.getMethod(data.method || req.method);
  req.method = method;
  req.timeout = parseInt(data.timeout, 10);
  extend(req.headers, data.headers);
  if (typeof data.charset == 'string') {
    var type = req.headers['content-type'];
    var charset = '; charset=' + data.charset;
    if (typeof type == 'string') {
      req.headers['content-type'] = type.split(';')[0] + charset;
    } else {
      req.headers['content-type'] = charset;
    }
  } else {
    delete data.charset;
  }
  if (!util.hasRequestBody(method)) {
    delete data.top;
    delete data.bottom;
    delete data.body;
    delete req.headers['content-length'];
  } else if (data.top || data.bottom || data.body) {
    delete req.headers['content-length'];
  }

  util.isWhistleTransformData(data) && req.addZipTransform(new WhistleTransform(data));
}
function handleReq ( req , data ) { var method = util . getMethod ( data . method || req . method ) ; req . method = method ; req . timeout = parseInt ( data . timeout , 10 ) ; extend ( req . headers , data . headers ) ; if ( typeof data . charset == 'string' ) { var type = req . headers [ 'content-type' ] ; var charset = '; charset=' + data . charset ; if ( typeof type == 'string' ) { req . headers [ 'content-type' ] = type . split ( ';' ) [ 0 ] + charset ; } else { req . headers [ 'content-type' ] = charset ; } } else { delete data . charset ; } if ( ! util . hasRequestBody ( method ) ) { delete data . top ; delete data . bottom ; delete data . body ; delete req . headers [ 'content-length' ] ; } else if ( data . top || data . bottom || data . body ) { delete req . headers [ 'content-length' ] ; } util . isWhistleTransformData ( data ) && req . addZipTransform ( new WhistleTransform ( data ) ) ; }
处理请求数据

@param req：method、body、headers，top，bottom，speed、delay，charset,timeout
@param data
处理请求数据