1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-30 07:46:41 -04:00
v2fly/common/net/json/network.go
2015-12-10 22:08:36 +01:00

37 lines
756 B
Go

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
}