(logger OpenvpnConfigLogger, reader *reader.Reader, ipv6Checker IPv6Checker, )
| 44 | } |
| 45 | |
| 46 | func (c *CLI) OpenvpnConfig(logger OpenvpnConfigLogger, reader *reader.Reader, |
| 47 | ipv6Checker IPv6Checker, |
| 48 | ) error { |
| 49 | storage, err := storage.New(logger, constants.ServersData) |
| 50 | if err != nil { |
| 51 | return err |
| 52 | } |
| 53 | |
| 54 | var allSettings settings.Settings |
| 55 | err = allSettings.Read(reader, logger) |
| 56 | if err != nil { |
| 57 | return err |
| 58 | } |
| 59 | allSettings.SetDefaults() |
| 60 | |
| 61 | ipv6Supported, err := ipv6Checker.IsIPv6Supported() |
| 62 | if err != nil { |
| 63 | return fmt.Errorf("checking for IPv6 support: %w", err) |
| 64 | } |
| 65 | |
| 66 | if err = allSettings.Validate(storage, ipv6Supported, logger); err != nil { |
| 67 | return fmt.Errorf("validating settings: %w", err) |
| 68 | } |
| 69 | |
| 70 | // Unused by this CLI command |
| 71 | unzipper := (Unzipper)(nil) |
| 72 | client := (*http.Client)(nil) |
| 73 | warner := (Warner)(nil) |
| 74 | parallelResolver := (ParallelResolver)(nil) |
| 75 | ipFetcher := (IPFetcher)(nil) |
| 76 | openvpnFileExtractor := extract.New() |
| 77 | |
| 78 | providers := provider.NewProviders(storage, time.Now, warner, client, |
| 79 | unzipper, parallelResolver, ipFetcher, openvpnFileExtractor, allSettings.Updater) |
| 80 | providerConf := providers.Get(allSettings.VPN.Provider.Name) |
| 81 | connection, err := providerConf.GetConnection( |
| 82 | allSettings.VPN.Provider.ServerSelection, ipv6Supported) |
| 83 | if err != nil { |
| 84 | return err |
| 85 | } |
| 86 | |
| 87 | lines := providerConf.OpenVPNConfig(connection, |
| 88 | allSettings.VPN.OpenVPN, ipv6Supported) |
| 89 | |
| 90 | fmt.Println(strings.Join(lines, "\n")) |
| 91 | return nil |
| 92 | } |
nothing calls this directly
no test coverage detected