Class UrlPrefixDecorator<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.client.program.rest.UrlPrefixDecorator<R,P,M>
Type Parameters:
R - the type of the request body
P - the type of the response body
M - the type of the message parameters
All Implemented Interfaces:
org.apache.flink.runtime.rest.handler.RestHandlerSpecification, org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M>, org.apache.flink.runtime.rest.messages.UntypedResponseMessageHeaders<R,M>

public class UrlPrefixDecorator<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 Object implements org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M>
This class decorates the URL of the original message headers by adding a prefix. The purpose of this decorator is to provide a consistent URL prefix for all the REST API endpoints while preserving the behavior of the original message headers.
  • Constructor Details

    • UrlPrefixDecorator

      public UrlPrefixDecorator(org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M> messageHeaders, String urlPrefix)
      Constructs an instance of UrlPrefixDecorator.
      Parameters:
      messageHeaders - the original SqlGatewayMessageHeaders to be decorated
      urlPrefix - the URL prefix to be added to the target REST endpoint URL
  • Method Details

    • getHttpMethod

      public org.apache.flink.runtime.rest.HttpMethodWrapper getHttpMethod()
      Specified by:
      getHttpMethod in interface org.apache.flink.runtime.rest.handler.RestHandlerSpecification
    • getTargetRestEndpointURL

      public String getTargetRestEndpointURL()
      Specified by:
      getTargetRestEndpointURL in interface org.apache.flink.runtime.rest.handler.RestHandlerSpecification
    • getResponseClass

      public Class<P> getResponseClass()
      Specified by:
      getResponseClass in interface org.apache.flink.runtime.rest.messages.MessageHeaders<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>
    • getResponseStatusCode

      public org.apache.flink.shaded.netty4.io.netty.handler.codec.http.HttpResponseStatus getResponseStatusCode()
      Specified by:
      getResponseStatusCode in interface org.apache.flink.runtime.rest.messages.MessageHeaders<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>
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface org.apache.flink.runtime.rest.messages.MessageHeaders<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>
    • getRequestClass

      public Class<R> getRequestClass()
      Specified by:
      getRequestClass in interface org.apache.flink.runtime.rest.messages.UntypedResponseMessageHeaders<R extends org.apache.flink.runtime.rest.messages.RequestBody,P extends org.apache.flink.runtime.rest.messages.ResponseBody>
    • getUnresolvedMessageParameters

      public M getUnresolvedMessageParameters()
      Specified by:
      getUnresolvedMessageParameters in interface org.apache.flink.runtime.rest.messages.UntypedResponseMessageHeaders<R extends org.apache.flink.runtime.rest.messages.RequestBody,P extends org.apache.flink.runtime.rest.messages.ResponseBody>
    • getSupportedAPIVersions

      public Collection<? extends org.apache.flink.runtime.rest.versioning.RestAPIVersion<?>> getSupportedAPIVersions()
      Specified by:
      getSupportedAPIVersions in interface org.apache.flink.runtime.rest.handler.RestHandlerSpecification
    • getResponseTypeParameters

      public Collection<Class<?>> getResponseTypeParameters()
      Specified by:
      getResponseTypeParameters in interface org.apache.flink.runtime.rest.messages.MessageHeaders<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>
    • getDecorated

      public org.apache.flink.runtime.rest.messages.MessageHeaders<R,P,M> getDecorated()