Documentation

Overview

    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

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func ExpandValueEnv

    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

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

        ExpandValueEnvForMap convert all string value with environment variable.

        func ParseBool

        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

          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 ToString

            func ToString(x interface{}) string

              ToString converts values of any type to string.

              Types

              type Config

              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

                type Configer interface {
                	Set(key, val string) error   //support section::key type in given key when using ini type.
                	String(key string) string    //support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
                	Strings(key string) []string //get string slice
                	Int(key string) (int, error)
                	Int64(key string) (int64, error)
                	Bool(key string) (bool, error)
                	Float(key string) (float64, error)
                	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.
                	DefaultStrings(key string, defaultVal []string) []string //get string slice
                	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(key string) (interface{}, error)
                	GetSection(section string) (map[string]string, error)
                	SaveConfigFile(filename string) error
                }

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

                  func NewConfig

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

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

                    func NewConfigData

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

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

                      func NewFakeConfig

                      func NewFakeConfig() Configer

                        NewFakeConfig return a fake Configer

                        type IniConfig

                        type IniConfig struct {
                        }

                          IniConfig implements Config to parse ini file.

                          func (*IniConfig) Parse

                          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

                            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

                              type IniConfigContainer struct {
                              	sync.RWMutex
                              	// contains filtered or unexported fields
                              }

                                IniConfigContainer A Config represents the ini configuration. When set and get value, support key as section:name type.

                                func (*IniConfigContainer) Bool

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

                                  Bool returns the boolean value for a given key.

                                  func (*IniConfigContainer) DIY

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

                                    DIY returns the raw value by a given key.

                                    func (*IniConfigContainer) DefaultBool

                                    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

                                      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

                                        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

                                          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

                                            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

                                              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

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

                                                  Float returns the float value for a given key.

                                                  func (*IniConfigContainer) GetSection

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

                                                    GetSection returns map for the given section

                                                    func (*IniConfigContainer) Int

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

                                                      Int returns the integer value for a given key.

                                                      func (*IniConfigContainer) Int64

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

                                                        Int64 returns the int64 value for a given key.

                                                        func (*IniConfigContainer) SaveConfigFile

                                                        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

                                                          func (c *IniConfigContainer) Set(key, value 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

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

                                                              String returns the string value for a given key.

                                                              func (*IniConfigContainer) Strings

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

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

                                                                type JSONConfig

                                                                type JSONConfig struct {
                                                                }

                                                                  JSONConfig is a json config parser and implements Config interface.

                                                                  func (*JSONConfig) Parse

                                                                  func (js *JSONConfig) Parse(filename string) (Configer, error)

                                                                    Parse returns a ConfigContainer with parsed json config map.

                                                                    func (*JSONConfig) ParseData

                                                                    func (js *JSONConfig) ParseData(data []byte) (Configer, error)

                                                                      ParseData returns a ConfigContainer with json string

                                                                      type JSONConfigContainer

                                                                      type JSONConfigContainer struct {
                                                                      	sync.RWMutex
                                                                      	// contains filtered or unexported fields
                                                                      }

                                                                        JSONConfigContainer A Config represents the json configuration. Only when get value, support key as section:name type.

                                                                        func (*JSONConfigContainer) Bool

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

                                                                          Bool returns the boolean value for a given key.

                                                                          func (*JSONConfigContainer) DIY

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

                                                                            DIY returns the raw value by a given key.

                                                                            func (*JSONConfigContainer) DefaultBool

                                                                            func (c *JSONConfigContainer) DefaultBool(key string, defaultval bool) bool

                                                                              DefaultBool return the bool value if has no error otherwise return the defaultval

                                                                              func (*JSONConfigContainer) DefaultFloat

                                                                              func (c *JSONConfigContainer) DefaultFloat(key string, defaultval float64) float64

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

                                                                                func (*JSONConfigContainer) DefaultInt

                                                                                func (c *JSONConfigContainer) DefaultInt(key string, defaultval int) int

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

                                                                                  func (*JSONConfigContainer) DefaultInt64

                                                                                  func (c *JSONConfigContainer) DefaultInt64(key string, defaultval int64) int64

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

                                                                                    func (*JSONConfigContainer) DefaultString

                                                                                    func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string

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

                                                                                      func (*JSONConfigContainer) DefaultStrings

                                                                                      func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string

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

                                                                                        func (*JSONConfigContainer) Float

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

                                                                                          Float returns the float value for a given key.

                                                                                          func (*JSONConfigContainer) GetSection

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

                                                                                            GetSection returns map for the given section

                                                                                            func (*JSONConfigContainer) Int

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

                                                                                              Int returns the integer value for a given key.

                                                                                              func (*JSONConfigContainer) Int64

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

                                                                                                Int64 returns the int64 value for a given key.

                                                                                                func (*JSONConfigContainer) SaveConfigFile

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

                                                                                                  SaveConfigFile save the config into file

                                                                                                  func (*JSONConfigContainer) Set

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

                                                                                                    Set writes a new value for key.

                                                                                                    func (*JSONConfigContainer) String

                                                                                                    func (c *JSONConfigContainer) String(key string) string

                                                                                                      String returns the string value for a given key.

                                                                                                      func (*JSONConfigContainer) Strings

                                                                                                      func (c *JSONConfigContainer) Strings(key string) []string

                                                                                                        Strings returns the []string value for a given key.

                                                                                                        Notes

                                                                                                        Bugs

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

                                                                                                          Directories

                                                                                                          Path Synopsis
                                                                                                          Package env is used to parse environment.
                                                                                                          Package env is used to parse environment.
                                                                                                          Package xml for config provider.
                                                                                                          Package xml for config provider.
                                                                                                          Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/astaxie/beego/config/yaml" "github.com/astaxie/beego/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") More docs http://beego.me/docs/module/config.md
                                                                                                          Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/astaxie/beego/config/yaml" "github.com/astaxie/beego/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") More docs http://beego.me/docs/module/config.md