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>

    • 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 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​(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

      All Methods Instance Methods Abstract Methods Concrete Methods 
      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.
      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)  
      • 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 interface org.apache.flink.util.AutoCloseableAsync

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

        handlerAdded, handlerRemoved
    • Field Detail

      • service

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

      • 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 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,
                                                           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