code: function encodeParams(params) {
      var queryString;
      if (params && Object.keys(params)) {
          queryString = [].slice.call(arguments).reduce(function (a, b) {
              return a.concat(b instanceof Array ? b : [b]);
          }, []).filter(function (c) {
              return "object" === typeof c;
          }).reduce(function (p, c) {
              !(c instanceof Array) ? p = p.concat(Object.keys(c).map(function (key) {
                  return [key, c[key]];
              })) : p.push(c);
              return p;
          }, []).reduce(function (p, c) {
              c.length === 2 ? p.push(c) : p = p.concat(c);
              return p;
          }, []).reduce(function (p, c) {
              c[1] instanceof Array ? c[1].forEach(function (v) {
                  p.push([c[0], v]);
              }) : p.push(c);
              return p;
          }, []).map(function (c) {
              c[1] = encodeURIComponent(c[1]);
              return c.join("=");
          }).join("&");
      }
      return queryString;
  }
docs: method to encode the query string parameters