Package org.opends.server.api
Class RequestFilterChain
- java.lang.Object
-
- org.opends.server.api.RequestFilterChain
-
- All Implemented Interfaces:
RequestFilter
public final class RequestFilterChain extends Object implements RequestFilter
Filters and/or transforms the request and/or response of an LDAP exchange, multiple filters version.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Flowable<Response>
filter(org.forgerock.services.context.Context context, Request request, RequestHandler next)
Filters the request and/or response of an exchange.static RequestFilterChain
filterChain(RequestFilter filter)
Returns a new filter chain containing the single provided filter.RequestFilterChain
then(RequestFilter next)
Concatenate a transformer filter to this filter.RequestHandler
then(RequestHandler handler)
Terminate the filter chain with the specified handler.RequestFilterChain
thenMaybe(boolean condition, RequestFilter next)
Optionally concatenate a new filter to this filter.
-
-
-
Method Detail
-
filterChain
public static RequestFilterChain filterChain(RequestFilter filter)
Returns a new filter chain containing the single provided filter. Use {code then()} to append additional filters and a terminating handler.- Parameters:
filter
- The filter to be converted into a filter chain.- Returns:
- A new filter chain containing the single provided filter.
-
thenMaybe
public RequestFilterChain thenMaybe(boolean condition, RequestFilter next)
Optionally concatenate a new filter to this filter.- Parameters:
condition
- If true, next will be concatenated to this filternext
- The filter to optionally concatenate with this one- Returns:
- If condition is true, returns the concatenation of this filter and next. Otherwise, return this filter.
-
then
public RequestFilterChain then(RequestFilter next)
Concatenate a transformer filter to this filter.- Parameters:
next
- The transformer filter to add after this filter.- Returns:
- A new
RequestFilterChain
results of the concatenation of this filter and the transformer filter
-
then
public RequestHandler then(RequestHandler handler)
Terminate the filter chain with the specified handler.- Parameters:
handler
-RequestHandler
in charge of processing the request- Returns:
- A new
RequestHandler
results of the concatenation of this filter and handler
-
filter
public Flowable<Response> filter(org.forgerock.services.context.Context context, Request request, RequestHandler next) throws Exception
Description copied from interface:RequestFilter
Filters the request and/or response of an exchange. To pass the request to the next filter or handler in the chain, the filter callsnext.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.- Specified by:
filter
in interfaceRequestFilter
- Parameters:
context
- The request context.request
- The request.next
- The next filter or handler in the chain to handle the request.- Returns:
- A
Flowable
representing the response to be returned to the client. - Throws:
Exception
- If an error occurred during the processing of the request.
-
-