Uses of Class
org.microproxy.extras.ConcurrencyLimiter.Builder
Packages that use ConcurrencyLimiter.Builder
-
Uses of ConcurrencyLimiter.Builder in org.microproxy.extras
Methods in org.microproxy.extras that return ConcurrencyLimiter.BuilderModifier and TypeMethodDescriptionstatic ConcurrencyLimiter.BuilderConcurrencyLimiter.builder()Starts a builder with the default settings.ConcurrencyLimiter.Builder.countTunnels(boolean countTunnels) Whether aCONNECTtunnel (and an upgraded WebSocket connection) holds its permit for its lifetime (default true).ConcurrencyLimiter.Builder.key(BiFunction<HttpRequest, FlowContext, String> key) What requests are counted by: the client's IP address by default (ConcurrencyLimiter.byClientIp()), orConcurrencyLimiter.byUser(),ConcurrencyLimiter.byTargetHost()or any function of the request head and client connection.ConcurrencyLimiter.Builder.onReject(ConcurrencyLimiter.RejectListener listener) Called for every request over the limit (also in shadow mode), on its connection's thread.ConcurrencyLimiter.Builder.permits(int permits) Exchanges per key that may run at once (default 16); 0 refuses every request.Permits for particular keys;nullmeanspermits(int).ConcurrencyLimiter.Builder.permitTimeout(Duration permitTimeout) Reclaims (and logs) a permit held for longer than this, in case an exchange never ends; default 10 minutes,Duration.ZEROto turn the safety net off.Lets up tomaxWaitingrequests per key wait up tomaxWaiteach for a permit before they are refused.ConcurrencyLimiter.Builder.response(ConcurrencyLimiter.Responder responder) Answers refused requests instead of the default plain-text429.ConcurrencyLimiter.Builder.retryAfter(Duration retryAfter) TheRetry-Afterof the default429, rounded up to seconds; null for none.ConcurrencyLimiter.Builder.shadow(boolean shadow) Counts and reports requests over the limit (onReject,ConcurrencyLimiter.snapshot()) but lets them through, to try a limit out before enforcing it.