implement conditional surround functionality

This commit is contained in:
Baipyrus 2024-09-23 18:45:27 +02:00
parent ff6a82e0f2
commit c6002b5579

View File

@ -2,6 +2,7 @@ package proxy
import ( import (
"errors" "errors"
"fmt"
"strings" "strings"
"github.com/Baipyrus/ProxySwitcher/util" "github.com/Baipyrus/ProxySwitcher/util"
@ -31,6 +32,11 @@ func applyProxy(configArgs []string, configCmd, proxyServer string, variant *uti
return configArgs, configCmd return configArgs, configCmd
} }
// Surround 'proxyServer' with any given string, if provided
if variant.Surround != "" {
proxyServer = fmt.Sprintf("%[1]s%[2]s%[1]s", variant.Surround, proxyServer)
}
// Insert proxy only on last VARIABLE type // Insert proxy only on last VARIABLE type
if variant.Type == util.VARIABLE && strings.Count(configCmd, "$PRSW_ARG") == 1 { if variant.Type == util.VARIABLE && strings.Count(configCmd, "$PRSW_ARG") == 1 {
configCmd = strings.Replace(configCmd, "$PRSW_ARG", proxyServer, 1) configCmd = strings.Replace(configCmd, "$PRSW_ARG", proxyServer, 1)