Files
baalvpn/shared/confparser.go
2026-07-25 12:47:55 +02:00

32 lines
628 B
Go

package shared
import (
"fmt"
"os"
"strings"
)
func ParseConfFile(path string) (map[string]string, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, err
}
out := map[string]string{}
lines := strings.SplitSeq(strings.TrimSpace(string(data)), "\n")
for line := range lines {
line = strings.TrimSpace(line)
if len(line) == 0 || strings.HasPrefix(line, "#") {
continue
}
parts := strings.SplitN(line, "=", 2)
if len(parts) != 2 {
return nil, fmt.Errorf("expected '=' when parsing %s", path)
}
out[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
}
return out, nil
}