Package dev.relism.flash.ext.limiter
Class LimiterConfig
java.lang.Object
dev.relism.flash.ext.limiter.LimiterConfig
Extension configuration: holds the named
KeyResolver registry.
Resolvers are registered during the config phase (before install).
After
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.
invalid reference
LimiterExtension#install
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));
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionregisterResolver(String name, KeyResolver resolver) Registers (or replaces) a named key resolver.
-
Constructor Details
-
LimiterConfig
public LimiterConfig()
-
-
Method Details
-
registerResolver
Registers (or replaces) a named key resolver. Returnsthisfor fluent chaining.- Parameters:
name- identifier referenced byLimit.key()andGuard.limit(java.lang.String, int, long, java.util.concurrent.TimeUnit)resolver- lambda that extracts the partition key from a request
-