Class AbstractSqlGatewayRestHandler<R extends RequestBody,P extends ResponseBody,M extends MessageParameters>
- java.lang.Object
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler<RoutedRequest>
-
- org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler<T>
-
- org.apache.flink.runtime.rest.handler.AbstractHandler<NonLeaderRetrievalRestfulGateway,R,M>
-
- org.apache.flink.table.gateway.rest.handler.AbstractSqlGatewayRestHandler<R,P,M>
-
- Type Parameters:
R
- type of incoming requestsP
- type of outgoing responses
- All Implemented Interfaces:
AutoCloseable
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandler
,AutoCloseableAsync
- Direct Known Subclasses:
AbstractOperationHandler
,CloseSessionHandler
,CompleteStatementHandler
,ConfigureSessionHandler
,CreateEmbeddedSchedulerWorkflowHandler
,DeleteEmbeddedSchedulerWorkflowHandler
,ExecuteStatementHandler
,FetchResultsHandler
,GetApiVersionHandler
,GetInfoHandler
,GetSessionConfigHandler
,OpenSessionHandler
,RefreshMaterializedTableHandler
,ResumeEmbeddedSchedulerWorkflowHandler
,SuspendEmbeddedSchedulerWorkflowHandler
,TriggerSessionHeartbeatHandler
public abstract class AbstractSqlGatewayRestHandler<R extends RequestBody,P extends ResponseBody,M extends MessageParameters> extends AbstractHandler<NonLeaderRetrievalRestfulGateway,R,M>
Super class for sql gateway handlers that work withRequestBody
s andResponseBody
s.
-
-
Field Summary
Fields Modifier and Type Field Description protected SqlGatewayService
service
-
Fields inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
log, MAPPER
-
Fields inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
leaderRetriever, logger, responseHeaders, timeout
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSqlGatewayRestHandler(SqlGatewayService service, Map<String,String> responseHeaders, MessageHeaders<R,P,M> messageHeaders)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract CompletableFuture<P>
handleRequest(SqlGatewayRestAPIVersion version, HandlerRequest<R> request)
This method is called for every incoming request and returns aCompletableFuture
containing a the response.protected CompletableFuture<Void>
respondToRequest(org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerContext ctx, org.apache.flink.shaded.netty4.io.netty.handler.codec.http.HttpRequest httpRequest, HandlerRequest<R> handlerRequest, NonLeaderRetrievalRestfulGateway gateway)
Respond to the givenHandlerRequest
.-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
closeAsync, closeHandlerAsync, respondAsLeader
-
Methods inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
channelRead0, getTimeout
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.util.AutoCloseableAsync
close
-
-
-
-
Field Detail
-
service
protected SqlGatewayService service
-
-
Constructor Detail
-
AbstractSqlGatewayRestHandler
protected AbstractSqlGatewayRestHandler(SqlGatewayService service, Map<String,String> responseHeaders, MessageHeaders<R,P,M> messageHeaders)
-
-
Method Detail
-
respondToRequest
protected CompletableFuture<Void> respondToRequest(org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerContext ctx, org.apache.flink.shaded.netty4.io.netty.handler.codec.http.HttpRequest httpRequest, HandlerRequest<R> handlerRequest, NonLeaderRetrievalRestfulGateway gateway)
Description copied from class:AbstractHandler
Respond to the givenHandlerRequest
.- Specified by:
respondToRequest
in classAbstractHandler<NonLeaderRetrievalRestfulGateway,R extends RequestBody,M extends MessageParameters>
- Parameters:
ctx
- channel handler context to write the responsehttpRequest
- original http requesthandlerRequest
- typed handler requestgateway
- leader gateway- Returns:
- Future which is completed once the request has been processed
-
handleRequest
protected abstract CompletableFuture<P> handleRequest(@Nullable SqlGatewayRestAPIVersion version, @Nonnull HandlerRequest<R> request) throws RestHandlerException
This method is called for every incoming request and returns aCompletableFuture
containing a the response.Implementations may decide whether to throw
RestHandlerException
s or fail the returnedCompletableFuture
with aRestHandlerException
.Failing the future with another exception type or throwing unchecked exceptions is regarded as an implementation error as it does not allow us to provide a meaningful HTTP status code. In this case a
HttpResponseStatus.INTERNAL_SERVER_ERROR
will be returned.- Parameters:
version
- request versionrequest
- request that should be handled- Returns:
- future containing a handler response
- Throws:
RestHandlerException
- if the handling failed
-
-