bend-kit-hairpin
Search uses release 0.13.0.1 · 72 definitions
Definitions (72)
- type Optsbase: "" for none.
- type Clientbreaker: the circuit breaker of every request on this client.
- type ErrErrHttp: the last attempt failed.
- def policyOne attempt, the first included; backoff from 500 ms, doubled to at most 30 s; no deadline.
- def new.withA pool of up to cap idle sockets per origin, no base, no default headers, 30 s steps, follow redirects, no retries, and no circuit breaker.
- def new
- def base
- def headerA default header.
- def timeout
- def redirect
- def retryUp to n retries after the first attempt: n + 1 attempts in all.
- def deadlineNo attempt of a request starts ms or more after the request starts.
- def circuitA circuit breaker in front of every request, starting closed.
- def breaker.ofThe breaker, for inspection.
- def certPaths to a PEM client chain and its private key, presented to every HTTPS origin.
- def caPath to a PEM CA file, trusted in place of the default store.
- def jarEvery request stores and sends cookies through jar.
- def jar.ofThe jar, if the client has one.
- def close
- def stream.closeClose a stream from open.as.
- def target.pick
- def targetref against the base (RFC 3986 §5.2); with no base, ref as given.
- def target.abs
- def mergeThe defaults under the request headers, names lowercased; a request header replaces a default of its name.
- def jar.now
- def once.final
- def onceOne try: the redirect loop on the pool, with the jar, the certificate, and the CA file, then the body decoded.
- def hint.ms
- type VerdictA judge's verdict on one attempt.
- def countsOk and Caller do not count against the breaker; Target and Again do.
- def outcomeOk is Settled; Caller and Target are Failed.
- def lift
- type StepThe live state of one request between attempts.
- def clockThe clock, read only when a decision depends on it; 0 otherwise, which no such decision reads.
- def breaker.on
- def transient
- def some
- def deadline.some
- def outcome.ioThe wall clock dates a Retry-After, so it is read only for Again.
- def jitter.ioJitter for the backoff, drawn only when a retry may follow.
- def settle.athit: the breaker counts this attempt as a failure.
- def settle.outcomeThe attempt has ended: tell the breaker, and plan the next step.
- def settle.judged
- def judge.statusA status that Http.retry.judge does not retry: below 400 is Ok, a 4xx is Caller, and the rest is Target.
- def judge.settled
- def judge.of
- def judgeThe default judge: Http.retry.judge, as if the request were idempotent, picks Again; outcome then applies idem.
- def settle
- type CallThe inputs of one attempt.
- def try.resOne attempt that reads a whole response: the redirect loop on the pool, with the jar and the certificate.
- def try.streamOne attempt that opens a stream on the pool: the redirect loop with the mode, the jar, and the certificate, then the body decoded by enc.
- def close.res
- def close.last
- def attempt.run
- def denied
- def attempt.gateA refused stream closes only when the next attempt is admitted, so a denied attempt still returns it.
- def attemptAsk the gate; when it admits, make attempt n (0 first) of this layer.
- def pause
- def goleft: attempts this layer may still make.
- def result.of
- def request.done
- def attempts
- def budgetThe budget of one plain request: the policy's attempts, and its deadline from now.
- def run
- def request.asOne request inside a caller's retry layer, with every choice explicit.
- def open.asA streamed request under the same budget, deadline, backoff, and breaker as request.as.
- def request.inrequest.as with judge, the idempotency of method, and every coding Http decodes.
- def request.drop
- def request.budget
- def requesturl resolves against the base; headers go over the defaults.
- def get
- def post.jsonPOST v as compact JSON, with content-type: application/json.