Files

45 lines
957 B
Go

package browser
func ListProxiesWithFallback(proxyDAO ProxyDAO, fallback []Proxy) []Proxy {
if proxyDAO != nil {
if list, err := proxyDAO.List(); err == nil {
return list
}
}
return append([]Proxy{}, fallback...)
}
func ListProxyGroups(proxyDAO ProxyDAO) []string {
if proxyDAO != nil {
if groups, err := proxyDAO.ListGroups(); err == nil {
return groups
}
}
return nil
}
func ListProxiesByGroupWithFallback(proxyDAO ProxyDAO, groupName string, fallback []Proxy) []Proxy {
if proxyDAO != nil {
if list, err := proxyDAO.ListByGroup(groupName); err == nil {
return list
}
}
var result []Proxy
for _, item := range fallback {
if item.GroupName == groupName {
result = append(result, item)
}
}
return result
}
func LatestProxiesWithFallback(proxyDAO ProxyDAO, fallback []Proxy) []Proxy {
if proxyDAO != nil {
if list, err := proxyDAO.List(); err == nil && len(list) > 0 {
return list
}
}
return fallback
}