func()

in pkg/handlers/probe_handler.go [60:90]


func (p *probeHandler) probeAddrs(ctx context.Context) (ret error) {
	log := logger.FromContext(ctx)
	log.Tracef("Starting probe")

	ret = nil
	failProbeFunc := func(cause error) {
		log.Warnf("Failed probe: %v", cause)
		ret = cause
	}

	for _, addr := range p.addrs {
		req, err := http.NewRequestWithContext(ctx, "", "http://"+addr, nil)
		if err != nil {
			failProbeFunc(err)
			return
		}

		res, err := p.client.Do(req)
		if err != nil {
			failProbeFunc(err)
			return
		}

		// we expect a 404
		if res.StatusCode != http.StatusNotFound {
			failProbeFunc(fmt.Errorf("unexpected status code recieved, expected %d, got %d", http.StatusNotFound, res.StatusCode))
			return
		}
	}
	return
}