diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2024-02-07 19:14:47 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2024-02-07 19:14:47 +0100 |
commit | a457621e444b4e0719c076a172a62d823616a122 (patch) | |
tree | df052ecf303a23d25f7300bd6e5db13fa2797805 /go/util | |
parent | df50aaee6c6ef4b51638fe22317e28234ffe8acc (diff) | |
download | kafka-sandbox-a457621e444b4e0719c076a172a62d823616a122.tar.gz kafka-sandbox-a457621e444b4e0719c076a172a62d823616a122.tar.bz2 kafka-sandbox-a457621e444b4e0719c076a172a62d823616a122.tar.xz kafka-sandbox-a457621e444b4e0719c076a172a62d823616a122.zip |
wip
Diffstat (limited to 'go/util')
-rw-r--r-- | go/util/util.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/go/util/util.go b/go/util/util.go new file mode 100644 index 0000000..d56f662 --- /dev/null +++ b/go/util/util.go @@ -0,0 +1,41 @@ +package util + +import ( + "bufio" + "fmt" + "os" + "strings" + + "github.com/confluentinc/confluent-kafka-go/v2/kafka" +) + +func ReadConfig(configFile string) kafka.ConfigMap { + m := make(map[string]kafka.ConfigValue) + + file, err := os.Open(configFile) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to open file: %s", err) + os.Exit(1) + } + defer file.Close() + + scanner := bufio.NewScanner(file) + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if !strings.HasPrefix(line, "#") && len(line) != 0 { + before, after, found := strings.Cut(line, "=") + if found { + parameter := strings.TrimSpace(before) + value := strings.TrimSpace(after) + m[parameter] = value + } + } + } + + if err := scanner.Err(); err != nil { + fmt.Printf("Failed to read file: %s", err) + os.Exit(1) + } + + return m +} |