feat(ipv6): use ipv6 endpoint IPs if supported

This commit is contained in:
Quentin McGaw
2022-09-12 21:31:37 +00:00
parent dd7630997b
commit 7fdc7de210
35 changed files with 92 additions and 62 deletions

View File

@@ -6,9 +6,9 @@ import (
"github.com/qdm12/gluetun/internal/provider/utils"
)
func (p *Provider) GetConnection(selection settings.ServerSelection) (
func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) (
connection models.Connection, err error) {
defaults := utils.NewConnectionDefaults(443, 1194, 51820) //nolint:gomnd
return utils.GetConnection(p.Name(),
p.storage, selection, defaults, p.randSource)
p.storage, selection, defaults, ipv6Supported, p.randSource)
}

View File

@@ -29,6 +29,7 @@ func Test_Provider_GetConnection(t *testing.T) {
filteredServers []models.Server
storageErr error
selection settings.ServerSelection
ipv6Supported bool
connection models.Connection
errWrapped error
errMessage string
@@ -101,7 +102,7 @@ func Test_Provider_GetConnection(t *testing.T) {
client := (*http.Client)(nil)
provider := New(storage, randSource, client)
connection, err := provider.GetConnection(testCase.selection)
connection, err := provider.GetConnection(testCase.selection, testCase.ipv6Supported)
assert.ErrorIs(t, err, testCase.errWrapped)
if testCase.errWrapped != nil {