Merge pull request #1021 from unistack-org/registry_check

add RegisterCheck web server option for internal health checks
This commit is contained in:
Asim Aslam
2019-12-17 08:49:00 +00:00
committed by GitHub
3 changed files with 24 additions and 1 deletions

View File

@@ -25,6 +25,9 @@ type Options struct {
RegisterTTL time.Duration
RegisterInterval time.Duration
// RegisterCheck runs a check function before registering the service
RegisterCheck func(context.Context) error
Server *http.Server
Handler http.Handler
@@ -62,6 +65,10 @@ func newOptions(opts ...Option) Options {
o(&opt)
}
if opt.RegisterCheck == nil {
opt.RegisterCheck = DefaultRegisterCheck
}
return opt
}
@@ -228,3 +235,10 @@ func StaticDir(d string) Option {
o.StaticDir = d
}
}
// RegisterCheck run func before registry service
func RegisterCheck(fn func(context.Context) error) Option {
return func(o *Options) {
o.RegisterCheck = fn
}
}