func EncodeFeatures() string {
	values := url.Values{}
	featureMutex.RLock()
	defer featureMutex.RUnlock()

	for k, v := range featureGates {
		values.Add(string(k), strconv.FormatBool(v))
	}
	return values.Encode()
}
// EncodeFeatures returns the feature set as a URL encoded query string
EncodeFeatures returns the feature set as a URL encoded query string
// EncodeFeatures returns the feature set as a URL encoded query string
func EncodeFeatures() string {
	values := url.Values{}
	featureMutex.RLock()
	defer featureMutex.RUnlock()
	for k, v := range featureGates {
		values.Add(string(k), strconv.FormatBool(v))
	}
	return values.Encode()
}
func EncodeFeatures ( ) string { values := url . Values { } featureMutex . RLock ( ) defer featureMutex . RUnlock ( ) for k , v := range featureGates { values . Add ( string ( k ) , strconv . FormatBool ( v ) ) } return values . Encode ( ) }
EncodeFeatures returns the feature set as a URL encoded query string
EncodeFeatures returns the feature set as a URL encoded query string