miniflux/config/config.go

53 lines
1.1 KiB
Go
Raw Normal View History

2017-11-20 06:10:04 +01: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-22 04:37:47 +01: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 20:16:48 +01:00
DefaultCertFile = ""
DefaultKeyFile = ""
2017-11-22 04:37:47 +01:00
)
// Config manages configuration parameters.
type Config struct{}
2017-11-20 06:10:04 +01:00
// Get returns a config parameter value.
2017-11-20 06:10:04 +01: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 06:10:04 +01: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 06:10:04 +01:00
func NewConfig() *Config {
return &Config{}
}