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" }