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
}