mirror of
https://github.com/black-ant/Ant-Browser.git
synced 2026-07-14 18:48:55 +08:00
45 lines
957 B
Go
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
|
|
}
|