EdgeDNS支持内置线路
This commit is contained in:
@@ -8,6 +8,34 @@ type Route struct {
|
||||
AliasNames []string `json:"aliasNames"`
|
||||
}
|
||||
|
||||
var allDefaultRouteMapping = map[string]*Route{} // code => *Route
|
||||
|
||||
func init() {
|
||||
for _, route := range AllDefaultRoutes {
|
||||
allDefaultRouteMapping[route.Code] = route
|
||||
}
|
||||
for _, route := range AllDefaultISPRoutes {
|
||||
allDefaultRouteMapping[route.Code] = route
|
||||
}
|
||||
for _, route := range AllDefaultChinaProvinceRoutes {
|
||||
allDefaultRouteMapping[route.Code] = route
|
||||
}
|
||||
for _, route := range AllDefaultWorldRegionRoutes {
|
||||
allDefaultRouteMapping[route.Code] = route
|
||||
}
|
||||
}
|
||||
|
||||
// AllDefaultRoutes 默认线路
|
||||
var AllDefaultRoutes = []*Route{
|
||||
{
|
||||
Name: "默认线路",
|
||||
Code: DefaultRouteCode,
|
||||
AliasNames: []string{"默认线路"},
|
||||
},
|
||||
}
|
||||
|
||||
const DefaultRouteCode = "default"
|
||||
|
||||
// AllDefaultISPRoutes 运营商线路
|
||||
var AllDefaultISPRoutes = []*Route{
|
||||
{
|
||||
@@ -1455,3 +1483,8 @@ var AllDefaultWorldRegionRoutes = []*Route{
|
||||
AliasNames: []string{"圣诞岛"},
|
||||
},
|
||||
}
|
||||
|
||||
// FindDefaultRoute 根据代号查找线路
|
||||
func FindDefaultRoute(code string) *Route {
|
||||
return allDefaultRouteMapping[code]
|
||||
}
|
||||
|
||||
@@ -41,3 +41,16 @@ func TestRoutes(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestFindDefaultRoute(t *testing.T) {
|
||||
t.Log(FindDefaultRoute("isp:china_unicom"))
|
||||
t.Log(FindDefaultRoute("china:province:beijing"))
|
||||
t.Log(FindDefaultRoute("world:CN"))
|
||||
t.Log(FindDefaultRoute("world:US"))
|
||||
}
|
||||
|
||||
func BenchmarkFindDefaultRoute(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
_ = FindDefaultRoute("world:CN")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user