2022-06-09 23:47:12 +00:00
|
|
|
package updater
|
2021-08-23 10:25:00 -07:00
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
|
2022-05-07 19:12:29 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/provider/surfshark/servers"
|
2021-08-23 10:25:00 -07:00
|
|
|
)
|
|
|
|
|
|
2024-10-11 19:20:48 +00:00
|
|
|
var errHostnameNotFound = errors.New("hostname not found in hostname to location mapping")
|
2021-08-23 10:25:00 -07:00
|
|
|
|
2022-05-07 19:12:29 +00:00
|
|
|
func getHostInformation(host string, hostnameToLocation map[string]servers.ServerLocation) (
|
2024-10-11 19:20:48 +00:00
|
|
|
data servers.ServerLocation, err error,
|
|
|
|
|
) {
|
2021-08-23 10:25:00 -07:00
|
|
|
locationData, ok := hostnameToLocation[host]
|
|
|
|
|
if !ok {
|
|
|
|
|
return locationData, fmt.Errorf("%w: %s", errHostnameNotFound, host)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return locationData, nil
|
|
|
|
|
}
|
2022-02-13 01:21:25 +00:00
|
|
|
|
2022-05-07 19:12:29 +00:00
|
|
|
func hostToLocation(locationData []servers.ServerLocation) (
|
2024-10-11 19:20:48 +00:00
|
|
|
hostToLocation map[string]servers.ServerLocation,
|
|
|
|
|
) {
|
2022-05-07 19:12:29 +00:00
|
|
|
hostToLocation = make(map[string]servers.ServerLocation, len(locationData))
|
2022-02-13 01:21:25 +00:00
|
|
|
for _, data := range locationData {
|
|
|
|
|
hostToLocation[data.Hostname] = data
|
|
|
|
|
}
|
|
|
|
|
return hostToLocation
|
|
|
|
|
}
|