Class AbstractSqlGatewayRestHandler<R extends org.apache.flink.runtime.rest.messages.RequestBody,P extends org.apache.flink.runtime.rest.messages.ResponseBody,M extends org.apache.flink.runtime.rest.messages.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<org.apache.flink.runtime.rest.handler.router.RoutedRequest>
org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler<T>
org.apache.flink.runtime.rest.handler.AbstractHandler<org.apache.flink.runtime.webmonitor.NonLeaderRetrievalRestfulGateway,R,M>
org.apache.flink.table.gateway.rest.handler.AbstractSqlGatewayRestHandler<R,P,M>
Type Parameters:
R - type of incoming requests
P - 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, org.apache.flink.util.AutoCloseableAsync
Direct Known Subclasses:
AbstractOperationHandler, CloseSessionHandler, CompleteStatementHandler, ConfigureSessionHandler, CreateEmbeddedSchedulerWorkflowHandler, DeleteEmbeddedSchedulerWorkflowHandler, DeployScriptHandler, ExecuteStatementHandler, FetchResultsHandler, GetApiVersionHandler, GetInfoHandler, GetSessionConfigHandler, OpenSessionHandler, RefreshMaterializedTableHandler, ResumeEmbeddedSchedulerWorkflowHandler, SuspendEmbeddedSchedulerWorkflowHandler, TriggerSessionHeartbeatHandler

public abstract class AbstractSqlGatewayRestHandler<R extends org.apache.flink.runtime.rest.messages.RequestBody,P extends org.apache.flink.runtime.rest.messages.ResponseBody,M extends org.apache.flink.runtime.rest.messages.MessageParameters> extends org.apache.flink.runtime.rest.handler.AbstractHandler<org.apache.flink.runtime.webmonitor.NonLeaderRetrievalRestfulGateway,R,M>
Super class for sql gateway handlers that work with RequestBodys and ResponseBodys.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler

    org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.flink.table.gateway.api.SqlGatewayService
     

    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(org.apache.flink.table.gateway.api.SqlGatewayService service, Map<String,String> responseHeaders, org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M> messageHeaders)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract CompletableFuture<P>
    handleRequest(SqlGatewayRestAPIVersion version, org.apache.flink.runtime.rest.handler.HandlerRequest<R> request)
    This method is called for every incoming request and returns a CompletableFuture containing a the response.
    respondToRequest(org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerContext ctx, org.apache.flink.shaded.netty4.io.netty.handler.codec.http.HttpRequest httpRequest, org.apache.flink.runtime.rest.handler.HandlerRequest<R> handlerRequest, org.apache.flink.runtime.webmonitor.NonLeaderRetrievalRestfulGateway gateway)
     

    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

    Methods inherited from interface org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler

    handlerAdded, handlerRemoved
  • Field Details

    • service

      protected org.apache.flink.table.gateway.api.SqlGatewayService service
  • Constructor Details

    • AbstractSqlGatewayRestHandler

      protected AbstractSqlGatewayRestHandler(org.apache.flink.table.gateway.api.SqlGatewayService service, Map<String,String> responseHeaders, org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M> messageHeaders)
  • Method Details

    • 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, org.apache.flink.runtime.rest.handler.HandlerRequest<R> handlerRequest, org.apache.flink.runtime.webmonitor.NonLeaderRetrievalRestfulGateway gateway)
      Specified by:
      respondToRequest in class org.apache.flink.runtime.rest.handler.AbstractHandler<org.apache.flink.runtime.webmonitor.NonLeaderRetrievalRestfulGateway,R extends org.apache.flink.runtime.rest.messages.RequestBody,M extends org.apache.flink.runtime.rest.messages.MessageParameters>
    • handleRequest

      protected abstract CompletableFuture<P> handleRequest(@Nullable SqlGatewayRestAPIVersion version, @Nonnull org.apache.flink.runtime.rest.handler.HandlerRequest<R> request) throws org.apache.flink.runtime.rest.handler.RestHandlerException
      This method is called for every incoming request and returns a CompletableFuture containing a the response.

      Implementations may decide whether to throw RestHandlerExceptions or fail the returned CompletableFuture with a RestHandlerException.

      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 version
      request - request that should be handled
      Returns:
      future containing a handler response
      Throws:
      org.apache.flink.runtime.rest.handler.RestHandlerException - if the handling failed