load config on service init
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
762f20d179
commit
c6dfc8acaa
32
service.go
32
service.go
@ -40,6 +40,30 @@ func (s *service) Init(opts ...Option) error {
|
||||
o(&s.opts)
|
||||
}
|
||||
|
||||
for _, cfg := range s.opts.Configs {
|
||||
|
||||
if err := cfg.Init(config.Context(s.opts.Context)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, fn := range cfg.Options().BeforeLoad {
|
||||
if err := fn(s.opts.Context, cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := cfg.Load(s.opts.Context); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, fn := range cfg.Options().AfterLoad {
|
||||
if err := fn(s.opts.Context, cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if s.opts.Logger != nil {
|
||||
if err := s.opts.Logger.Init(
|
||||
logger.WithContext(s.opts.Context),
|
||||
@ -48,14 +72,6 @@ func (s *service) Init(opts ...Option) error {
|
||||
}
|
||||
}
|
||||
|
||||
if s.opts.Configs != nil {
|
||||
for _, c := range s.opts.Configs {
|
||||
if err := c.Init(config.Context(s.opts.Context)); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if s.opts.Registry != nil {
|
||||
if err := s.opts.Registry.Init(
|
||||
registry.Context(s.opts.Context),
|
||||
|
Loading…
Reference in New Issue
Block a user