Files
gluetun/internal/updater/providers/surfshark/location.go
Quentin McGaw c40d4e075e chore(validation): move functions from constants
- Move validation functions from `internal/constants` to `internal/configuration/settings/validation`
- Concatenate all OpenVPN constants in `internal/constants/openvpn.go`
2022-02-13 01:21:25 +00:00

32 lines
811 B
Go

package surfshark
import (
"errors"
"fmt"
"github.com/qdm12/gluetun/internal/models"
)
var (
errHostnameNotFound = errors.New("hostname not found in hostname to location mapping")
)
func getHostInformation(host string, hostnameToLocation map[string]models.SurfsharkLocationData) (
data models.SurfsharkLocationData, err error) {
locationData, ok := hostnameToLocation[host]
if !ok {
return locationData, fmt.Errorf("%w: %s", errHostnameNotFound, host)
}
return locationData, nil
}
func hostToLocation(locationData []models.SurfsharkLocationData) (
hostToLocation map[string]models.SurfsharkLocationData) {
hostToLocation = make(map[string]models.SurfsharkLocationData, len(locationData))
for _, data := range locationData {
hostToLocation[data.Hostname] = data
}
return hostToLocation
}