package envtemplate import ( "bytes" "io" "os" "github.com/valyala/fasttemplate" ) // Replace replaces `%{ENV_VAR}` placeholders in b with the corresponding ENV_VAR values. func Replace(b []byte) []byte { if !bytes.Contains(b, []byte("%{")) { // Fast path - nothing to replace. return b } s := fasttemplate.ExecuteFuncString(string(b), "%{", "}", func(w io.Writer, tag string) (int, error) { v := os.Getenv(tag) if v == "" { v = "%{" + tag + "}" } return w.Write([]byte(v)) }) return []byte(s) }