public class ThrottlingFilter extends Object implements Filter
Constructor and Description |
---|
ThrottlingFilter(AsyncFunction<ContextAndRequest,String,Exception> requestGroupingPolicy,
ThrottlingPolicy throttlingRatePolicy,
ThrottlingStrategy throttlingStrategy)
Constructs a ThrottlingFilter.
|
public ThrottlingFilter(AsyncFunction<ContextAndRequest,String,Exception> requestGroupingPolicy, ThrottlingPolicy throttlingRatePolicy, ThrottlingStrategy throttlingStrategy)
requestGroupingPolicy
- the key used to identify the token bucket (must not be null
).throttlingRatePolicy
- the datasource where to lookup for the rate to apply (must not be null
).throttlingStrategy
- the throttling strategy to apply.public void stop()
public Promise<Response,NeverThrowsException> filter(Context context, Request request, Handler next)
Filter
next.handle(context, request)
.
This method may elect not to pass the request to the next filter or
handler, and instead handle the request itself. It can achieve this by
merely avoiding a call to next.handle(context, request)
and creating its own response object. The filter is also at liberty to
replace a response with another of its own by intercepting the response
returned by the next handler.
Copyright 2011-2015 ForgeRock AS.