ref: 34c87421b82b967a8ae85261ca9a3e9fe7b156da
parent: 29caaddce67943d399b2ab811fa9325e23930c26
author: Cameron Moore <moorereason@gmail.com>
date: Thu Dec 22 17:05:59 EST 2016
tpl: Update getenv to accept interface{} params Updates #2822
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -2075,6 +2075,17 @@
return template.HTML(helpers.CurrentPathSpec().RelURL(s, false)), nil
}
+// getenv retrieves the value of the environment variable named by the key.
+// It returns the value, which will be empty if the variable is not present.
+func getenv(key interface{}) (string, error) {
+ skey, err := cast.ToStringE(key)
+ if err != nil {
+ return "", nil
+ }
+
+ return os.Getenv(skey), nil
+}
+
func initFuncMap() {
funcMap = template.FuncMap{
"absURL": absURL,
@@ -2106,7 +2117,7 @@
"ge": ge,
"getCSV": getCSV,
"getJSON": getJSON,
- "getenv": func(varName string) string { return os.Getenv(varName) },
+ "getenv": getenv,
"gt": gt,
"hasPrefix": hasPrefix,
"highlight": highlight,
--
⑨