Files
dokku/plugins/config/config.go
Michael Hobbs 8654783131 style tweaks
2017-10-02 16:50:05 -07:00

31 lines
777 B
Go

package config
import (
"fmt"
"strings"
"github.com/dokku/dokku/plugins/common"
)
// GetWithDefault returns the value set for a given key, returning defaultValue if none found
func GetWithDefault(appName string, key string, defaultValue string) (value string) {
value = defaultValue
envFile := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName, "ENV"}, "/")
lines, err := common.FileToSlice(envFile)
if err != nil {
return
}
prefix := fmt.Sprintf("export %v=", key)
for _, line := range lines {
if !strings.HasPrefix(line, prefix) {
continue
}
value = strings.TrimPrefix(line, prefix)
if strings.HasPrefix(value, "'") && strings.HasSuffix(value, "'") {
value = strings.TrimPrefix(strings.TrimSuffix(value, "'"), "'")
}
}
return
}