[#39] ir: Do not store config keys in httpComponent
Pprof will have specific options, it seems wrong to have them in a generic struct. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
61776033c2
commit
f989bc52be
3 changed files with 22 additions and 37 deletions
|
@ -11,22 +11,25 @@ import (
|
|||
)
|
||||
|
||||
type httpComponent struct {
|
||||
srv *httputil.Server
|
||||
address string
|
||||
addressKey string
|
||||
name string
|
||||
handler http.Handler
|
||||
shutdownDur time.Duration
|
||||
shutdownTimeoutKey string
|
||||
enabled bool
|
||||
enabledKey string
|
||||
srv *httputil.Server
|
||||
address string
|
||||
name string
|
||||
handler http.Handler
|
||||
shutdownDur time.Duration
|
||||
enabled bool
|
||||
}
|
||||
|
||||
const (
|
||||
enabledKeyPostfix = ".enabled"
|
||||
addressKeyPostfix = ".address"
|
||||
shutdownTimeoutKeyPostfix = ".shutdown_timeout"
|
||||
)
|
||||
|
||||
func (c *httpComponent) init() {
|
||||
log.Info(fmt.Sprintf("init %s", c.name))
|
||||
c.enabled = cfg.GetBool(c.enabledKey)
|
||||
c.address = cfg.GetString(c.addressKey)
|
||||
c.shutdownDur = cfg.GetDuration(c.shutdownTimeoutKey)
|
||||
c.enabled = cfg.GetBool(c.name + enabledKeyPostfix)
|
||||
c.address = cfg.GetString(c.name + addressKeyPostfix)
|
||||
c.shutdownDur = cfg.GetDuration(c.name + shutdownTimeoutKeyPostfix)
|
||||
|
||||
if c.enabled {
|
||||
c.srv = httputil.New(
|
||||
|
@ -63,9 +66,9 @@ func (c *httpComponent) shutdown() error {
|
|||
|
||||
func (c *httpComponent) reload() {
|
||||
log.Info(fmt.Sprintf("reload %s", c.name))
|
||||
enabled := cfg.GetBool(c.enabledKey)
|
||||
address := cfg.GetString(c.addressKey)
|
||||
dur := cfg.GetDuration(c.shutdownTimeoutKey)
|
||||
enabled := cfg.GetBool(c.name + enabledKeyPostfix)
|
||||
address := cfg.GetString(c.name + addressKeyPostfix)
|
||||
dur := cfg.GetDuration(c.name + shutdownTimeoutKeyPostfix)
|
||||
if enabled != c.enabled || enabled && (address != c.address || dur != c.shutdownDur) {
|
||||
log.Info(fmt.Sprintf("%s config updated", c.name))
|
||||
if err := c.shutdown(); err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue