in main/health.go [81:100]
func NewHealthProbe(lg *slog.Logger, cfg *handlerSettings) HealthProbe {
var p HealthProbe
p = new(DefaultHealthProbe)
switch cfg.protocol() {
case "tcp":
p = &TcpHealthProbe{
Address: "localhost:" + strconv.Itoa(cfg.port()),
}
telemetry.SendEvent(telemetry.InfoEvent, telemetry.AppHealthProbeTask, fmt.Sprintf("Creating %s probe targeting %s", cfg.protocol(), p.address()))
case "http":
fallthrough
case "https":
p = NewHttpHealthProbe(cfg.protocol(), cfg.requestPath(), cfg.port())
telemetry.SendEvent(telemetry.InfoEvent, telemetry.AppHealthProbeTask, fmt.Sprintf("Creating %s probe targeting %s", cfg.protocol(), p.address()))
default:
telemetry.SendEvent(telemetry.InfoEvent, telemetry.AppHealthProbeTask, "Configuration not provided. Using default reporting.")
}
return p
}