From b36ab9e572749a81ac652cccee251e0aad71e9c3 Mon Sep 17 00:00:00 2001 From: Joerg Lehmann Date: Thu, 7 Aug 2025 13:42:49 +0200 Subject: [PATCH] fix funtion --- main.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/main.go b/main.go index 55406fd..c1496db 100644 --- a/main.go +++ b/main.go @@ -9,26 +9,30 @@ import ( "time" ) -func getConfigFromEnv(item string) { +func getConfigFromEnv(item string) string { var res = "" value := os.Getenv("CONFIG_ENVVAR") if value == "" { value = "ADDRESS,INITIALCOST,MONTHLYCOST" } - configarr = strings.Split(value, ",") - if len(configarr) < 3 { + configArr := strings.Split(value, ",") + + // Check for expected length to prevent out-of-range panic + if len(configArr) < 3 { logit("CONFIG_ENVVAR has less than 3 elements") + return "NOTFOUND" } - if item == "address" { - res = configarr[0] - } else if item == "initialcost" { - res = configarr[1] - } else if item == "monthlycost" { - res = configarr[2] - } else { - res = "NOTFOUND" + + switch strings.ToLower(item) { + case "address": + return configArr[0] + case "initialcost": + return configArr[1] + case "monthlycost": + return configArr[2] + default: + return "NOTFOUND" } - return res } func serveTemplate(w http.ResponseWriter, r *http.Request) { @@ -91,7 +95,6 @@ func serveTemplate(w http.ResponseWriter, r *http.Request) { Address string InitialCost string MonthlyCost string - Address string Scales []string LastMetrics []OneMetric QueryValues map[string][]string