dataRT/config/rabbit.go

81 lines
1.5 KiB
Go

package config
type rabbitConfig struct {
Broker string `json:"broker" yaml:"broker"`
Username string `json:"username" yaml:"username"`
Password string `json:"password" yaml:"password"`
}
func NewRabbitConfig() *rabbitConfig {
return new(rabbitConfig)
}
func (conf *rabbitConfig) GenAddress(tls bool) string {
if conf == nil {
panic("rabbit config is nil")
}
address := "amqp://"
if conf.GetUsername() != "" && conf.GetPassword() != "" {
address += conf.GetUsername() + ":" + conf.GetPassword() + "@"
}
address += conf.GetBroker() + "/"
return address
}
func (conf *rabbitConfig) GetBroker() string {
if conf == nil {
panic("rabbit config is nil")
}
return conf.Broker
}
func (conf *rabbitConfig) SetBroker(broker string) *rabbitConfig {
if conf == nil {
panic("rabbit config is nil")
}
conf.Broker = broker
return conf
}
func (conf *rabbitConfig) GetUsername() string {
if conf == nil {
panic("rabbit config is nil")
}
return conf.Username
}
func (conf *rabbitConfig) SetUsername(username string) *rabbitConfig {
if conf == nil {
panic("rabbit config is nil")
}
conf.Username = username
return conf
}
func (conf *rabbitConfig) GetPassword() string {
if conf == nil {
panic("rabbit config is nil")
}
return conf.Password
}
func (conf *rabbitConfig) SetPassword(password string) *rabbitConfig {
if conf == nil {
panic("rabbit config is nil")
}
conf.Password = password
return conf
}
func rabbitConfigName() string {
return "rabbit.json"
}