Package io.kroxylicious.proxy.filter
Interface FetchRequestFilter
- All Superinterfaces:
Filter
A stateless filter for FetchRequests.
-
Method Summary
Modifier and TypeMethodDescriptiononFetchRequest
(short apiVersion, org.apache.kafka.common.message.RequestHeaderData header, org.apache.kafka.common.message.FetchRequestData request, FilterContext context) Handle the givenheader
andrequest
pair, returning theheader
andrequest
pair to be passed to the next filter using the RequestFilterResult.default boolean
shouldHandleFetchRequest
(short apiVersion) Determine if a request message of type FetchRequest should be handled by this filter implementation.
-
Method Details
-
shouldHandleFetchRequest
default boolean shouldHandleFetchRequest(short apiVersion) Determine if a request message of type FetchRequest should be handled by this filter implementation. returns true thenonFetchRequest
is eligible to be invoked with deserialized data, if the message reaches this filter in the chain.- Parameters:
apiVersion
- the apiVersion of the message- Returns:
- true if it should be handled
-
onFetchRequest
CompletionStage<RequestFilterResult> onFetchRequest(short apiVersion, org.apache.kafka.common.message.RequestHeaderData header, org.apache.kafka.common.message.FetchRequestData request, FilterContext context) Handle the givenheader
andrequest
pair, returning theheader
andrequest
pair to be passed to the next filter using the RequestFilterResult.
The implementation may modify the givenheader
andrequest
in-place, or instantiate a new instances.- Parameters:
apiVersion
- the apiVersion of the requestheader
- request header.request
- The body to handle.context
- The context.- Returns:
- a non-null CompletionStage that, when complete, will yield a RequestFilterResult containing the request to be forwarded.
- See Also:
-