Maintenance: refactor servers updater code
- Require at least 80% of number of servers now to pass - Each provider is in its own package with a common structure - Unzip package with unzipper interface - Openvpn package with extraction and download functions
This commit is contained in:
28
internal/updater/providers/cyberghost/servers.go
Normal file
28
internal/updater/providers/cyberghost/servers.go
Normal file
@@ -0,0 +1,28 @@
|
||||
// Package cyberghost contains code to obtain the server information
|
||||
// for the Cyberghost provider.
|
||||
package cyberghost
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/internal/updater/resolver"
|
||||
)
|
||||
|
||||
func GetServers(ctx context.Context, presolver resolver.Parallel,
|
||||
minServers int) (servers []models.CyberghostServer, err error) {
|
||||
possibleServers := getPossibleServers()
|
||||
|
||||
possibleHosts := possibleServers.hostsSlice()
|
||||
hostToIPs, err := resolveHosts(ctx, presolver, possibleHosts, minServers)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
possibleServers.adaptWithIPs(hostToIPs)
|
||||
|
||||
servers = possibleServers.toSlice()
|
||||
|
||||
sortServers(servers)
|
||||
return servers, nil
|
||||
}
|
||||
Reference in New Issue
Block a user