本文整理汇总了Golang中github.com/centrifugal/centrifugo/Godeps/_workspace/src/github.com/spf13/viper.Viper类的典型用法代码示例。如果您正苦于以下问题:Golang Viper类的具体用法?Golang Viper怎么用?Golang Viper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Viper类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: namespacesFromConfig
func namespacesFromConfig(v *viper.Viper) []libcentrifugo.Namespace {
// TODO: as viper does not have exported global config instance
// we need to use nil when application wants to use global viper
// config - this must be improved using our own global viper instance
ns := []libcentrifugo.Namespace{}
if !viper.IsSet("namespaces") {
return ns
}
if v == nil {
viper.MarshalKey("namespaces", &ns)
} else {
v.MarshalKey("namespaces", &ns)
}
return ns
}
示例2: structureFromConfig
func structureFromConfig(v *viper.Viper) *libcentrifugo.Structure {
// TODO: as viper does not have exported global config instance
// we need to use nil when application wants to use global viper
// config - this must be improved using our own global viper instance
var pl []libcentrifugo.Project
if v == nil {
viper.MarshalKey("projects", &pl)
} else {
v.MarshalKey("projects", &pl)
}
// top level project configuration
p, exists := getGlobalProject(v)
if exists {
// add global project to project list
pl = append([]libcentrifugo.Project{*p}, pl...)
}
s := libcentrifugo.NewStructure(pl)
return s
}
示例3: getGlobalProject
func getGlobalProject(v *viper.Viper) (*libcentrifugo.Project, bool) {
p := &libcentrifugo.Project{}
// TODO: the same as for structureFromConfig function
if v == nil {
if !viper.IsSet("project_name") || viper.GetString("project_name") == "" {
return nil, false
}
p.Name = libcentrifugo.ProjectKey(viper.GetString("project_name"))
p.Secret = viper.GetString("project_secret")
p.ConnLifetime = int64(viper.GetInt("project_connection_lifetime"))
p.Anonymous = viper.GetBool("project_anonymous")
p.Watch = viper.GetBool("project_watch")
p.Publish = viper.GetBool("project_publish")
p.JoinLeave = viper.GetBool("project_join_leave")
p.Presence = viper.GetBool("project_presence")
p.HistorySize = int64(viper.GetInt("project_history_size"))
p.HistoryLifetime = int64(viper.GetInt("project_history_lifetime"))
} else {
if !v.IsSet("project_name") || v.GetString("project_name") == "" {
return nil, false
}
p.Name = libcentrifugo.ProjectKey(v.GetString("project_name"))
p.Secret = v.GetString("project_secret")
p.ConnLifetime = int64(v.GetInt("project_connection_lifetime"))
p.Anonymous = v.GetBool("project_anonymous")
p.Watch = v.GetBool("project_watch")
p.Publish = v.GetBool("project_publish")
p.JoinLeave = v.GetBool("project_join_leave")
p.Presence = v.GetBool("project_presence")
p.HistorySize = int64(v.GetInt("project_history_size"))
p.HistoryLifetime = int64(v.GetInt("project_history_lifetime"))
}
var nl []libcentrifugo.Namespace
if v == nil {
viper.MarshalKey("project_namespaces", &nl)
} else {
v.MarshalKey("project_namespaces", &nl)
}
p.Namespaces = nl
return p, true
}