class

SendReq

Inherits Deliver < ProbeConcurrency < Reference < Object

Instance methods

run(endpoints : Array(Endpoint))

Every probe goes out with handle_errors: false, max_redirects: 0. The two belong together and neither is optional:

handle_errors defaults to true in Crest, which raises Crest::RequestFailed on any non-2xx. A probe's whole job is to fire the request — a 404 or a 500 is a delivered probe, not a delivery failure. Left on, it fed the failures counter below, and since path templates like /users/{id} are probed literally, most probes against a real app 404. The "N request(s) failed" line then fired en masse and buried the case it exists for: a genuinely broken target (bad -u, TLS rejection, network down).

max_redirects: 0 must be set alongside it, not alone — Redirector#check_max_redirects raises when max_redirects <= 0 && handle_errors, so setting it by itself turns every 3xx into a counted failure and makes things worse. Redirects are off because Crest copies the request headers onto the redirected request, including a --probe-header Authorization token, and follows absolute Locations to other hosts. Beyond the credential leak, following them generates traffic to URLs noir never discovered, which is not what "replay my endpoints" means.

Source