func NewHealthProbe()

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
}