Add support for PROXY and PORT envs

This commit is contained in:
Ben Sarmiento
2024-04-26 15:11:48 +02:00
parent 2dbabd3ead
commit 6983f59483
3 changed files with 17 additions and 8 deletions

View File

@@ -47,9 +47,9 @@ func MainApp(configPath string) {
apiClient := http.NewHTTPClient(
config.GetToken(),
config.GetRetriesUntilFailed()*10, // default retries = 2, so this is 20
config.GetApiTimeoutSecs(), // default api timeout = 60
false, // ipv6 support is not needed for api client
config.GetRetriesUntilFailed()*2, // default retries = 2, so this is 4
config.GetApiTimeoutSecs(), // default api timeout = 60
false, // ipv6 support is not needed for api client
config,
log.Named("api_client"),
)
@@ -64,10 +64,10 @@ func MainApp(configPath string) {
)
downloadClient := http.NewHTTPClient(
"",
config.GetRetriesUntilFailed(),
config.GetDownloadTimeoutSecs(),
true,
"", // no token required for download client
config.GetRetriesUntilFailed(), //
config.GetDownloadTimeoutSecs(), //
true, // download client supports ipv6
config,
log.Named("download_client"),
)

View File

@@ -1,5 +1,7 @@
package config
import "os"
type ConfigInterface interface {
GetConfig() ZurgConfig
GetVersion() string
@@ -80,6 +82,9 @@ func (z *ZurgConfig) GetHost() string {
}
func (z *ZurgConfig) GetPort() string {
if os.Getenv("PORT") != "" {
return os.Getenv("PORT")
}
if z.Port == "" {
return "9999"
}
@@ -95,6 +100,9 @@ func (z *ZurgConfig) GetPassword() string {
}
func (z *ZurgConfig) GetProxy() string {
if os.Getenv("PROXY") != "" {
return os.Getenv("PROXY")
}
return z.Proxy
}

View File

@@ -72,8 +72,9 @@ func NewHTTPClient(
}
var dialer proxy.Dialer = &net.Dialer{
Timeout: time.Duration(timeoutSecs) * time.Second, // timeout to establish connection
Timeout: time.Duration(timeoutSecs) * time.Second, // timeout for dns resolution, tcp handshake
}
if proxyURLString := cfg.GetProxy(); proxyURLString != "" {
proxyURL, err := url.Parse(proxyURLString)
if err != nil {