You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
v2ray-core/common/net/json/network.go

37 lines
756 B

package json
import (
"strings"
v2net "github.com/v2ray/v2ray-core/common/net"
serialjson "github.com/v2ray/v2ray-core/common/serial/json"
)
type NetworkList []string
func NewNetworkList(networks []string) NetworkList {
list := NetworkList(make([]string, len(networks)))
for idx, network := range networks {
list[idx] = strings.ToLower(strings.TrimSpace(network))
}
return list
}
func (this *NetworkList) UnmarshalJSON(data []byte) error {
strlist, err := serialjson.UnmarshalStringList(data)
if err != nil {
return err
}
*this = NewNetworkList(strlist)
return nil
}
func (this *NetworkList) HasNetwork(network v2net.Network) bool {
for _, value := range *this {
if value == string(network) {
return true
}
}
return false
}