env has to start with letter
This commit is contained in:
parent
341c50b756
commit
55326ef470
20
main.go
20
main.go
@ -1,6 +1,7 @@
|
||||
package envconf
|
||||
|
||||
import ("strings"
|
||||
"unicode"
|
||||
"os")
|
||||
|
||||
const TypeNone = (1 << 1)
|
||||
@ -13,17 +14,26 @@ type Config struct {
|
||||
|
||||
}
|
||||
|
||||
func getFirstRune(str string)(rune) {
|
||||
for _,v := range str {
|
||||
return v
|
||||
}
|
||||
return rune(0)
|
||||
}
|
||||
|
||||
func NewConfig()(*Config) {
|
||||
config := new(Config)
|
||||
config.env = make(map[string]map[string]int)
|
||||
for _,v := range os.Environ() {
|
||||
splitted := strings.SplitN(v, "=", 2)
|
||||
if len(splitted) == 2 {
|
||||
key := strings.ToLower(splitted[0])
|
||||
strval := splitted[1]
|
||||
val := make(map[string]int)
|
||||
val[strval] = TypeNone
|
||||
config.env[key] = val
|
||||
key := strings.TrimSpace(strings.ToLower(splitted[0]))
|
||||
if unicode.IsLetter(getFirstRune(key)) {
|
||||
strval := splitted[1]
|
||||
val := make(map[string]int)
|
||||
val[strval] = TypeNone
|
||||
config.env[key] = val
|
||||
}
|
||||
}
|
||||
}
|
||||
return config
|
||||
|
Loading…
Reference in New Issue
Block a user