(env []byte)
| 113 | } |
| 114 | |
| 115 | func loadEnvFile(env []byte) (map[string]string, error) { |
| 116 | envVars := make(map[string]string) |
| 117 | |
| 118 | scanner := bufio.NewScanner(bytes.NewReader(env)) |
| 119 | for scanner.Scan() { |
| 120 | line := strings.TrimSpace(scanner.Text()) |
| 121 | |
| 122 | if line == "" || strings.HasPrefix(line, "#") { |
| 123 | continue |
| 124 | } |
| 125 | |
| 126 | parts := strings.SplitN(line, "=", 2) |
| 127 | if len(parts) == 2 { |
| 128 | key := strings.TrimSpace(parts[0]) |
| 129 | value := strings.TrimSpace(parts[1]) |
| 130 | value = strings.Trim(value, `"'`) |
| 131 | envVars[key] = value |
| 132 | } |
| 133 | } |
| 134 | |
| 135 | return envVars, scanner.Err() |
| 136 | } |
| 137 | |
| 138 | func replaceEnvVars(input string, envVars map[string]string) string { |
| 139 | return re.GetRegex(re.ComposeEnvVarPattern).ReplaceAllStringFunc(input, func(match string) string { |
no test coverage detected