1
0
Fork 0
miniflux/config/config.go

55 lines
1.2 KiB
Go
Raw Normal View History

2017-11-20 00:10:04 -05:00
// Copyright 2017 Frédéric Guillot. All rights reserved.
// Use of this source code is governed by the Apache 2.0
// license that can be found in the LICENSE file.
package config
import (
"os"
"strconv"
)
// Default config parameters values
2017-11-21 22:37:47 -05:00
const (
DefaultBaseURL = "http://localhost"
DefaultDatabaseURL = "postgres://postgres:postgres@localhost/miniflux2?sslmode=disable"
DefaultWorkerPoolSize = 5
DefaultPollingFrequency = 60
DefaultBatchSize = 10
DefaultDatabaseMaxConns = 20
DefaultListenAddr = "127.0.0.1:8080"
2017-11-22 14:16:48 -05:00
DefaultCertFile = ""
DefaultKeyFile = ""
2017-11-22 16:11:01 -05:00
DefaultCertDomain = ""
DefaultCertCache = "/tmp/cert_cache"
2017-11-21 22:37:47 -05:00
)
// Config manages configuration parameters.
type Config struct{}
2017-11-20 00:10:04 -05:00
// Get returns a config parameter value.
2017-11-20 00:10:04 -05:00
func (c *Config) Get(key, fallback string) string {
value := os.Getenv(key)
if value == "" {
return fallback
}
return value
}
// GetInt returns a config parameter as integer.
2017-11-20 00:10:04 -05:00
func (c *Config) GetInt(key string, fallback int) int {
value := os.Getenv(key)
if value == "" {
return fallback
}
v, _ := strconv.Atoi(value)
return v
}
// NewConfig returns a new Config.
2017-11-20 00:10:04 -05:00
func NewConfig() *Config {
return &Config{}
}