mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2026-01-01 16:36:38 +08:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package serverconfigs
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/configutils"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
|
)
|
|
|
|
var globalConfig *GlobalConfig = nil
|
|
var globalConfigFile = "global.yaml"
|
|
|
|
// 全局设置
|
|
type GlobalConfig struct {
|
|
HTTPAll struct {
|
|
MatchDomainStrictly bool `yaml:"matchDomainStrictly" json:"matchDomainStrictly"`
|
|
} `yaml:"httpAll" json:"httpAll"`
|
|
HTTP struct{} `yaml:"http" json:"http"`
|
|
HTTPS struct{} `yaml:"https" json:"https"`
|
|
TCPAll struct{} `yaml:"tcpAll" json:"tcpAll"`
|
|
TCP struct{} `yaml:"tcp" json:"tcp"`
|
|
TLS struct{} `yaml:"tls" json:"tls"`
|
|
Unix struct{} `yaml:"unix" json:"unix"`
|
|
UDP struct{} `yaml:"udp" json:"udp"`
|
|
}
|
|
|
|
func SharedGlobalConfig() *GlobalConfig {
|
|
shared.Locker.Lock()
|
|
defer shared.Locker.Unlock()
|
|
|
|
if globalConfig != nil {
|
|
return globalConfig
|
|
}
|
|
|
|
err := configutils.UnmarshalYamlFile(globalConfigFile, globalConfig)
|
|
if err != nil {
|
|
configutils.LogError("[SharedGlobalConfig]" + err.Error())
|
|
globalConfig = &GlobalConfig{}
|
|
}
|
|
return globalConfig
|
|
}
|
|
|
|
func (this *GlobalConfig) Init() error {
|
|
return nil
|
|
}
|