code: function encodeOAuthData (data) {
    // empty data
    if (!data || data === '') {
      return ''
  
    // non-empty data
    } else {
      return encodeURIComponent(data)
        .replace(/!/g, '%21')
        .replace(/'/g, '%27')
        .replace(/\(/g, '%28')
        .replace(/\)/g, '%29')
        .replace(/\*/g, '%2A')
    }
  }
docs: Encode Data
  https://tools.ietf.org/html/rfc5849#section-3.6