diff --git a/src/TibiaDataUtils.go b/src/TibiaDataUtils.go index 03e4df02..6d10a0b0 100644 --- a/src/TibiaDataUtils.go +++ b/src/TibiaDataUtils.go @@ -188,10 +188,10 @@ func TibiaDataSanitize0026String(data string) string { return strings.ReplaceAll(data, "\u0026#39;", "'") } -// isEnvExist func - check if environment var is set -func isEnvExist(key string) (ok bool) { - _, ok = os.LookupEnv(key) - return +// isEnvExist func - check if environment var is set and not empty +func isEnvExist(key string) bool { + data, ok := os.LookupEnv(key) + return ok && data != "" } // getEnv func - read an environment or return a default value diff --git a/src/main.go b/src/main.go index 9a8c04cb..25b9d864 100644 --- a/src/main.go +++ b/src/main.go @@ -104,24 +104,23 @@ func TibiaDataInitializer() { } // Adding information of host - TibiaDataHost = getEnv("TIBIADATA_HOST", "") - if TibiaDataHost != "" { - TibiaDataHost = "+https://" + TibiaDataHost + if isEnvExist("TIBIADATA_HOST") { + TibiaDataHost = "+https://" + getEnv("TIBIADATA_HOST", "") } // Setting TibiaDataProxyDomain if isEnvExist("TIBIADATA_PROXY") { - TibiaDataProxyProtocol := "https" - if isEnvExist("TIBIADATA_PROXY_PROTOCOL") { - TibiaDataProxyProtocol = getEnv("TIBIADATA_PROXY_PROTOCOL", "https") + TibiaDataProxyProtocol := getEnv("TIBIADATA_PROXY_PROTOCOL", "https") + switch TibiaDataProxyProtocol { + case "http": + TibiaDataProxyProtocol = "http" } TibiaDataProxyDomain = TibiaDataProxyProtocol + "://" + getEnv("TIBIADATA_PROXY", "www.tibia.com") + "/" + log.Printf("[info] TibiaData API proxy: %s", TibiaDataProxyDomain) } - log.Printf("[info] TibiaData API proxy: %s", TibiaDataProxyDomain) - // Run some functions that are empty but required for documentation to be done _ = tibiaNewslistArchive() _ = tibiaNewslistArchiveDays() diff --git a/src/webserver.go b/src/webserver.go index 5255b83d..a3e57c3f 100644 --- a/src/webserver.go +++ b/src/webserver.go @@ -102,8 +102,8 @@ func runWebServer() { }) // Set proxy feature of gin - trustedProxies := getEnv("GIN_TRUSTED_PROXIES", "") - if len(trustedProxies) > 0 { + if isEnvExist("GIN_TRUSTED_PROXIES") { + trustedProxies := getEnv("GIN_TRUSTED_PROXIES", "") _ = router.SetTrustedProxies(strings.Split(trustedProxies, ",")) log.Printf("[info] TibiaData API gin-trusted-proxies: %s", strings.Split(trustedProxies, ",")) } else {