crowdsec/cmd/crowdsec-cli/clientinfo/clientinfo.go
mmetc eec32ad64b
cscli refact: extract packages ask, clientinfo (#3197)
* cscli: extrack package 'crowdsec-cli/ask'

* cscli: extract package 'crowdsec-cli/clientinfo'
2024-08-28 10:52:49 +02:00

39 lines
553 B
Go

package clientinfo
import (
"strings"
)
type featureflagProvider interface {
GetFeatureflags() string
}
type osProvider interface {
GetOsname() string
GetOsversion() string
}
func GetOSNameAndVersion(o osProvider) string {
ret := o.GetOsname()
if o.GetOsversion() != "" {
if ret != "" {
ret += "/"
}
ret += o.GetOsversion()
}
if ret == "" {
return "?"
}
return ret
}
func GetFeatureFlagList(o featureflagProvider) []string {
if o.GetFeatureflags() == "" {
return nil
}
return strings.Split(o.GetFeatureflags(), ",")
}