Files
gluetun/internal/constants/servers.go

30 lines
719 B
Go
Raw Normal View History

package constants
import (
_ "embed"
"encoding/json"
"github.com/qdm12/gluetun/internal/models"
)
//go:embed servers.json
var allServersBytes []byte //nolint:gochecknoglobals
var allServers models.AllServers //nolint:gochecknoglobals
func init() { //nolint:gochecknoinits
// error returned covered by unit test
allServers, _ = parseAllServers(allServersBytes)
}
func parseAllServers(b []byte) (allServers models.AllServers, err error) {
err = json.Unmarshal(b, &allServers)
return allServers, err
}
func GetAllServers() (allServers models.AllServers) {
if allServers.Version == 0 { // not parsed yet - for unit tests mostly
allServers, _ = parseAllServers(allServersBytes)
}
return allServers
}