Class LimiterConfig

java.lang.Object
dev.relism.flash.ext.limiter.LimiterConfig

public final class LimiterConfig extends Object
Extension configuration: holds the named KeyResolver registry.

Resolvers are registered during the config phase (before install). After

invalid reference
LimiterExtension#install
is called, the registry is consulted once per route/handler at boot to capture the resolver lambda directly into the middleware closure. There is no map lookup on the request hot-path.

The built-in "ip" resolver is always present and extracts the client IP from X-Forwarded-For (first address) or X-Real-IP. Override it with registerResolver("ip", ...) if needed.


 LimiterConfig conf = new LimiterConfig()
     .registerResolver("auth_user", req -> {
         // custom logic — e.g. extract sub from ClaimsHolder
         return ClaimsHolder.exists() ? ClaimsHolder.user().sub() : "anonymous";
     });

 app.install(new LimiterExtension(conf));