Fix server filtering using merged server data

This commit is contained in:
Quentin McGaw
2020-08-27 23:06:28 +00:00
parent 93aaf1ab02
commit 99ba56f574
8 changed files with 16 additions and 20 deletions

View File

@@ -20,8 +20,7 @@ func newCyberghost(servers []models.CyberghostServer) *cyberghost {
}
func (c *cyberghost) filterServers(region, group string) (servers []models.CyberghostServer) {
allServers := constants.CyberghostServers()
for i, server := range allServers {
for i, server := range c.servers {
if len(region) == 0 {
server.Region = ""
}
@@ -29,7 +28,7 @@ func (c *cyberghost) filterServers(region, group string) (servers []models.Cyber
server.Group = ""
}
if strings.EqualFold(server.Region, region) && strings.EqualFold(server.Group, group) {
servers = append(servers, allServers[i])
servers = append(servers, c.servers[i])
}
}
return servers

View File

@@ -20,8 +20,7 @@ func newMullvad(servers []models.MullvadServer) *mullvad {
}
func (m *mullvad) filterServers(country, city, isp string) (servers []models.MullvadServer) {
allServers := constants.MullvadServers()
for i, server := range allServers {
for i, server := range m.servers {
if len(country) == 0 {
server.Country = ""
}
@@ -34,7 +33,7 @@ func (m *mullvad) filterServers(country, city, isp string) (servers []models.Mul
if strings.EqualFold(server.Country, country) &&
strings.EqualFold(server.City, city) &&
strings.EqualFold(server.ISP, isp) {
servers = append(servers, allServers[i])
servers = append(servers, m.servers[i])
}
}
return servers

View File

@@ -20,8 +20,7 @@ func newNordvpn(servers []models.NordvpnServer) *nordvpn {
}
func (n *nordvpn) filterServers(region string, protocol models.NetworkProtocol, number uint16) (servers []models.NordvpnServer) {
allServers := constants.NordvpnServers()
for i, server := range allServers {
for i, server := range n.servers {
if len(region) == 0 {
server.Region = ""
}
@@ -35,7 +34,7 @@ func (n *nordvpn) filterServers(region string, protocol models.NetworkProtocol,
continue
}
if strings.EqualFold(server.Region, region) && server.Number == number {
servers = append(servers, allServers[i])
servers = append(servers, n.servers[i])
}
}
return servers

View File

@@ -27,9 +27,9 @@ func newPrivateInternetAccess(servers []models.PIAServer) *pia {
func (p *pia) filterServers(region string) (servers []models.PIAServer) {
if len(region) == 0 {
return constants.PIAServers()
return p.servers
}
for _, server := range constants.PIAServers() {
for _, server := range p.servers {
if strings.EqualFold(server.Region, region) {
return []models.PIAServer{server}
}

View File

@@ -20,8 +20,7 @@ func newPurevpn(servers []models.PurevpnServer) *purevpn {
}
func (p *purevpn) filterServers(region, country, city string) (servers []models.PurevpnServer) {
allServers := constants.PurevpnServers()
for i, server := range allServers {
for i, server := range p.servers {
if len(region) == 0 {
server.Region = ""
}
@@ -34,7 +33,7 @@ func (p *purevpn) filterServers(region, country, city string) (servers []models.
if strings.EqualFold(server.Region, region) &&
strings.EqualFold(server.Country, country) &&
strings.EqualFold(server.City, city) {
servers = append(servers, allServers[i])
servers = append(servers, p.servers[i])
}
}
return servers

View File

@@ -21,9 +21,9 @@ func newSurfshark(servers []models.SurfsharkServer) *surfshark {
func (s *surfshark) filterServers(region string) (servers []models.SurfsharkServer) {
if len(region) == 0 {
return constants.SurfsharkServers()
return s.servers
}
for _, server := range constants.SurfsharkServers() {
for _, server := range s.servers {
if strings.EqualFold(server.Region, region) {
return []models.SurfsharkServer{server}
}

View File

@@ -21,9 +21,9 @@ func newVyprvpn(servers []models.VyprvpnServer) *vyprvpn {
func (v *vyprvpn) filterServers(region string) (servers []models.VyprvpnServer) {
if len(region) == 0 {
return constants.VyprvpnServers()
return v.servers
}
for _, server := range constants.VyprvpnServers() {
for _, server := range v.servers {
if strings.EqualFold(server.Region, region) {
return []models.VyprvpnServer{server}
}

View File

@@ -21,9 +21,9 @@ func newWindscribe(servers []models.WindscribeServer) *windscribe {
func (w *windscribe) filterServers(region string) (servers []models.WindscribeServer) {
if len(region) == 0 {
return constants.WindscribeServers()
return w.servers
}
for _, server := range constants.WindscribeServers() {
for _, server := range w.servers {
if strings.EqualFold(server.Region, region) {
return []models.WindscribeServer{server}
}