beego: github.com/astaxie/beego/core/config Index | Files | Directories

package config

import "github.com/astaxie/beego/core/config"

Package config is used to parse config. Usage:

import "github.com/astaxie/beego/config"

Examples.

cnf, err := config.NewConfig("ini", "config.conf")

cnf APIS:

cnf.Set(key, val string) error
cnf.String(key string) string
cnf.Strings(key string) []string
cnf.Int(key string) (int, error)
cnf.Int64(key string) (int64, error)
cnf.Bool(key string) (bool, error)
cnf.Float(key string) (float64, error)
cnf.DefaultString(key string, defaultVal string) string
cnf.DefaultStrings(key string, defaultVal []string) []string
cnf.DefaultInt(key string, defaultVal int) int
cnf.DefaultInt64(key string, defaultVal int64) int64
cnf.DefaultBool(key string, defaultVal bool) bool
cnf.DefaultFloat(key string, defaultVal float64) float64
cnf.DIY(key string) (interface{}, error)
cnf.GetSection(section string) (map[string]string, error)
cnf.SaveConfigFile(filename string) error

More docs http://beego.me/docs/module/config.md

Index

Package Files

config.go error.go fake.go global.go ini.go

Variables

var (
    KeyNotFoundError      = errors.New("the key is not found")
    InvalidValueTypeError = errors.New("the value is not expected type")
)

now not all implementation return those error codes

func Bool Uses

func Bool(key string) (bool, error)

func DIY Uses

func DIY(key string) (interface{}, error)

DIY return the original value

func DefaultBool Uses

func DefaultBool(key string, defaultVal bool) bool

func DefaultFloat Uses

func DefaultFloat(key string, defaultVal float64) float64

func DefaultInt Uses

func DefaultInt(key string, defaultVal int) int

func DefaultInt64 Uses

func DefaultInt64(key string, defaultVal int64) int64

func DefaultString Uses

func DefaultString(key string, defaultVal string) string

support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.

func DefaultStrings Uses

func DefaultStrings(key string, defaultVal []string) []string

get string slice

func ExpandValueEnv Uses

func ExpandValueEnv(value string) (realValue string)

ExpandValueEnv returns value of convert with environment variable.

Return environment variable if value start with "${" and end with "}". Return default value if environment variable is empty or not exist.

It accept value formats "${env}" , "${env||}}" , "${env||defaultValue}" , "defaultvalue". Examples:

v1 := config.ExpandValueEnv("${GOPATH}")			// return the GOPATH environment variable.
v2 := config.ExpandValueEnv("${GOAsta||/usr/local/go}")	// return the default value "/usr/local/go/".
v3 := config.ExpandValueEnv("Astaxie")				// return the value "Astaxie".

func ExpandValueEnvForMap Uses

func ExpandValueEnvForMap(m map[string]interface{}) map[string]interface{}

ExpandValueEnvForMap convert all string value with environment variable.

func Float Uses

func Float(key string) (float64, error)

func GetSection Uses

func GetSection(section string) (map[string]string, error)

func InitGlobalInstance Uses

func InitGlobalInstance(name string, cfg string) error

InitGlobalInstance will ini the global instance If you want to use specific implementation, don't forget to import it. e.g. _ import "github.com/astaxie/beego/core/config/etcd" err := InitGlobalInstance("etcd", "someconfig")

func Int Uses

func Int(key string) (int, error)

func Int64 Uses

func Int64(key string) (int64, error)

func OnChange Uses

func OnChange(key string, fn func(value string))

func ParseBool Uses

func ParseBool(val interface{}) (value bool, err error)

ParseBool returns the boolean value represented by the string.

It accepts 1, 1.0, t, T, TRUE, true, True, YES, yes, Yes,Y, y, ON, on, On, 0, 0.0, f, F, FALSE, false, False, NO, no, No, N,n, OFF, off, Off. Any other value returns an error.

func Register Uses

func Register(name string, adapter Config)

Register makes a config adapter available by the adapter name. If Register is called twice with the same name or if driver is nil, it panics.

func SaveConfigFile Uses

func SaveConfigFile(filename string) error

func Set Uses

func Set(key, val string) error

support section::key type in given key when using ini type.

func String Uses

func String(key string) (string, error)

support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.

func Strings Uses

func Strings(key string) ([]string, error)

get string slice

func ToString Uses

func ToString(x interface{}) string

ToString converts values of any type to string.

func Unmarshaler Uses

func Unmarshaler(prefix string, obj interface{}, opt ...DecodeOption) error

type BaseConfiger Uses

type BaseConfiger struct {
    // contains filtered or unexported fields
}

func NewBaseConfiger Uses

func NewBaseConfiger(reader func(ctx context.Context, key string) (string, error)) BaseConfiger

func (*BaseConfiger) Bool Uses

func (c *BaseConfiger) Bool(key string) (bool, error)

func (*BaseConfiger) DefaultBool Uses

func (c *BaseConfiger) DefaultBool(key string, defaultVal bool) bool

func (*BaseConfiger) DefaultFloat Uses

func (c *BaseConfiger) DefaultFloat(key string, defaultVal float64) float64

func (*BaseConfiger) DefaultInt Uses

func (c *BaseConfiger) DefaultInt(key string, defaultVal int) int

func (*BaseConfiger) DefaultInt64 Uses

func (c *BaseConfiger) DefaultInt64(key string, defaultVal int64) int64

func (*BaseConfiger) DefaultString Uses

func (c *BaseConfiger) DefaultString(key string, defaultVal string) string

DefaultString returns the string value for a given key. if err != nil or value is empty return defaultval

func (*BaseConfiger) DefaultStrings Uses

func (c *BaseConfiger) DefaultStrings(key string, defaultVal []string) []string

DefaultStrings returns the []string value for a given key. if err != nil return defaultval

func (*BaseConfiger) Float Uses

func (c *BaseConfiger) Float(key string) (float64, error)

func (*BaseConfiger) Int Uses

func (c *BaseConfiger) Int(key string) (int, error)

func (*BaseConfiger) Int64 Uses

func (c *BaseConfiger) Int64(key string) (int64, error)

func (*BaseConfiger) OnChange Uses

func (c *BaseConfiger) OnChange(key string, fn func(value string))

func (*BaseConfiger) String Uses

func (c *BaseConfiger) String(key string) (string, error)

func (*BaseConfiger) Strings Uses

func (c *BaseConfiger) Strings(key string) ([]string, error)

Strings returns the []string value for a given key. Return nil if config value does not exist or is empty.

func (*BaseConfiger) Sub Uses

func (c *BaseConfiger) Sub(key string) (Configer, error)

type Config Uses

type Config interface {
    Parse(key string) (Configer, error)
    ParseData(data []byte) (Configer, error)
}

Config is the adapter interface for parsing config file to get raw data to Configer.

type Configer Uses

type Configer interface {
    // support section::key type in given key when using ini type.
    Set(key, val string) error

    // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
    String(key string) (string, error)
    // get string slice
    Strings(key string) ([]string, error)
    Int(key string) (int, error)
    Int64(key string) (int64, error)
    Bool(key string) (bool, error)
    Float(key string) (float64, error)
    // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
    DefaultString(key string, defaultVal string) string
    // get string slice
    DefaultStrings(key string, defaultVal []string) []string
    DefaultInt(key string, defaultVal int) int
    DefaultInt64(key string, defaultVal int64) int64
    DefaultBool(key string, defaultVal bool) bool
    DefaultFloat(key string, defaultVal float64) float64

    // DIY return the original value
    DIY(key string) (interface{}, error)

    GetSection(section string) (map[string]string, error)

    Unmarshaler(prefix string, obj interface{}, opt ...DecodeOption) error
    Sub(key string) (Configer, error)
    OnChange(key string, fn func(value string))
    SaveConfigFile(filename string) error
}

Configer defines how to get and set value from configuration raw data.

func NewConfig Uses

func NewConfig(adapterName, filename string) (Configer, error)

NewConfig adapterName is ini/json/xml/yaml. filename is the config file path.

func NewConfigData Uses

func NewConfigData(adapterName string, data []byte) (Configer, error)

NewConfigData adapterName is ini/json/xml/yaml. data is the config data.

func NewFakeConfig Uses

func NewFakeConfig() Configer

NewFakeConfig return a fake Configer

func Sub Uses

func Sub(key string) (Configer, error)

type DecodeOption Uses

type DecodeOption func(options decodeOptions)

type IniConfig Uses

type IniConfig struct {
}

IniConfig implements Config to parse ini file.

func (*IniConfig) Parse Uses

func (ini *IniConfig) Parse(name string) (Configer, error)

Parse creates a new Config and parses the file configuration from the named file.

func (*IniConfig) ParseData Uses

func (ini *IniConfig) ParseData(data []byte) (Configer, error)

ParseData parse ini the data When include other.conf,other.conf is either absolute directory or under beego in default temporary directory(/tmp/beego[-username]).

type IniConfigContainer Uses

type IniConfigContainer struct {
    BaseConfiger

    sync.RWMutex
    // contains filtered or unexported fields
}

IniConfigContainer is a config which represents the ini configuration. When set and get value, support key as section:name type.

func (*IniConfigContainer) Bool Uses

func (c *IniConfigContainer) Bool(key string) (bool, error)

Bool returns the boolean value for a given key.

func (*IniConfigContainer) DIY Uses

func (c *IniConfigContainer) DIY(key string) (v interface{}, err error)

DIY returns the raw value by a given key.

func (*IniConfigContainer) DefaultBool Uses

func (c *IniConfigContainer) DefaultBool(key string, defaultVal bool) bool

DefaultBool returns the boolean value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) DefaultFloat Uses

func (c *IniConfigContainer) DefaultFloat(key string, defaultVal float64) float64

DefaultFloat returns the float64 value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) DefaultInt Uses

func (c *IniConfigContainer) DefaultInt(key string, defaultVal int) int

DefaultInt returns the integer value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) DefaultInt64 Uses

func (c *IniConfigContainer) DefaultInt64(key string, defaultVal int64) int64

DefaultInt64 returns the int64 value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) DefaultString Uses

func (c *IniConfigContainer) DefaultString(key string, defaultVal string) string

DefaultString returns the string value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) DefaultStrings Uses

func (c *IniConfigContainer) DefaultStrings(key string, defaultVal []string) []string

DefaultStrings returns the []string value for a given key. if err != nil return defaultVal

func (*IniConfigContainer) Float Uses

func (c *IniConfigContainer) Float(key string) (float64, error)

Float returns the float value for a given key.

func (*IniConfigContainer) GetSection Uses

func (c *IniConfigContainer) GetSection(section string) (map[string]string, error)

GetSection returns map for the given section

func (*IniConfigContainer) Int Uses

func (c *IniConfigContainer) Int(key string) (int, error)

Int returns the integer value for a given key.

func (*IniConfigContainer) Int64 Uses

func (c *IniConfigContainer) Int64(key string) (int64, error)

Int64 returns the int64 value for a given key.

func (*IniConfigContainer) SaveConfigFile Uses

func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)

SaveConfigFile save the config into file.

BUG(env): The environment variable config item will be saved with real value in SaveConfigFile Function.

func (*IniConfigContainer) Set Uses

func (c *IniConfigContainer) Set(key, val string) error

Set writes a new value for key. if write to one section, the key need be "section::key". if the section is not existed, it panics.

func (*IniConfigContainer) String Uses

func (c *IniConfigContainer) String(key string) (string, error)

String returns the string value for a given key.

func (*IniConfigContainer) Strings Uses

func (c *IniConfigContainer) Strings(key string) ([]string, error)

Strings returns the []string value for a given key. Return nil if config value does not exist or is empty.

func (*IniConfigContainer) Unmarshaler Uses

func (c *IniConfigContainer) Unmarshaler(prefix string, obj interface{}, opt ...DecodeOption) error

Bugs

The environment variable config item will be saved with real value in SaveConfigFile Function.

Directories

PathSynopsis
envPackage env is used to parse environment.
etcd
json
toml
xmlPackage xml for config provider.
yamlPackage yaml for config provider

Package config imports 18 packages (graph) and is imported by 8 packages. Updated 2020-11-30. Refresh now. Tools for package owners.