in serve.go [91:118]
func (s *Server) Init(ctx context.Context, addr string, lg *log.Logger, signals ...os.Signal) *Server {
if len(signals) == 0 {
s.signals = ServerDefaultSignals
} else {
// rethink this later on. We need to make sure there at least
// the right group of signals!
s.signals = signals
}
s.signal = make(chan os.Signal, 1)
signal.Notify(s.signal, s.signals...)
if lg == nil {
lg = log.Default()
}
s.lg = lg
s.errs = make(chan error)
s.mux = http.NewServeMux()
s.hc = DefaultHealthCheck
s.mux.HandleFunc("/health", s.hc)
s.server = &http.Server{
Addr: addr,
Handler: s.mux,
BaseContext: func(l net.Listener) context.Context { return ctx },
}
return s
}