You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
586 B
29 lines
586 B
package cfg
|
|
|
|
const (
|
|
BASE_URL_ENV = "KANPEKI_BASE_URL"
|
|
DATABASE_URL_ENV = "KANPEKI_DATABASE_URL"
|
|
LISTEN_ADDR_ENV = "KANPEKI_LISTEN_ADDR"
|
|
)
|
|
|
|
type Config struct {
|
|
ListenAddr string
|
|
BaseUrl string
|
|
DatabaseUrl string
|
|
LogLevel int
|
|
}
|
|
|
|
func Load(getenv func(string) string) (*Config, error) {
|
|
cfg := new(Config)
|
|
cfg.BaseUrl = getenv(BASE_URL_ENV)
|
|
if cfg.BaseUrl == "" {
|
|
cfg.BaseUrl = "http://localhost"
|
|
}
|
|
cfg.DatabaseUrl = getenv(DATABASE_URL_ENV)
|
|
cfg.ListenAddr = getenv(LISTEN_ADDR_ENV)
|
|
if cfg.ListenAddr == "" {
|
|
cfg.ListenAddr = ":3000"
|
|
}
|
|
return cfg, nil
|
|
}
|