Class RedirectAction

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.RedirectAction
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RedirectActionOrBuilder, Serializable

public final class RedirectAction extends com.google.protobuf.GeneratedMessage implements RedirectActionOrBuilder
 [#next-free-field: 10]
 
Protobuf type envoy.config.route.v3.RedirectAction
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • schemeRewriteSpecifierCase_

      private int schemeRewriteSpecifierCase_
    • schemeRewriteSpecifier_

      private Object schemeRewriteSpecifier_
    • pathRewriteSpecifierCase_

      private int pathRewriteSpecifierCase_
    • pathRewriteSpecifier_

      private Object pathRewriteSpecifier_
    • HTTPS_REDIRECT_FIELD_NUMBER

      public static final int HTTPS_REDIRECT_FIELD_NUMBER
      See Also:
    • SCHEME_REDIRECT_FIELD_NUMBER

      public static final int SCHEME_REDIRECT_FIELD_NUMBER
      See Also:
    • HOST_REDIRECT_FIELD_NUMBER

      public static final int HOST_REDIRECT_FIELD_NUMBER
      See Also:
    • hostRedirect_

      private volatile Object hostRedirect_
    • PORT_REDIRECT_FIELD_NUMBER

      public static final int PORT_REDIRECT_FIELD_NUMBER
      See Also:
    • portRedirect_

      private int portRedirect_
    • PATH_REDIRECT_FIELD_NUMBER

      public static final int PATH_REDIRECT_FIELD_NUMBER
      See Also:
    • PREFIX_REWRITE_FIELD_NUMBER

      public static final int PREFIX_REWRITE_FIELD_NUMBER
      See Also:
    • REGEX_REWRITE_FIELD_NUMBER

      public static final int REGEX_REWRITE_FIELD_NUMBER
      See Also:
    • RESPONSE_CODE_FIELD_NUMBER

      public static final int RESPONSE_CODE_FIELD_NUMBER
      See Also:
    • responseCode_

      private int responseCode_
    • STRIP_QUERY_FIELD_NUMBER

      public static final int STRIP_QUERY_FIELD_NUMBER
      See Also:
    • stripQuery_

      private boolean stripQuery_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final RedirectAction DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<RedirectAction> PARSER
  • Constructor Details

    • RedirectAction

      private RedirectAction(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • RedirectAction

      private RedirectAction()
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getSchemeRewriteSpecifierCase

      public RedirectAction.SchemeRewriteSpecifierCase getSchemeRewriteSpecifierCase()
      Specified by:
      getSchemeRewriteSpecifierCase in interface RedirectActionOrBuilder
    • getPathRewriteSpecifierCase

      public RedirectAction.PathRewriteSpecifierCase getPathRewriteSpecifierCase()
      Specified by:
      getPathRewriteSpecifierCase in interface RedirectActionOrBuilder
    • hasHttpsRedirect

      public boolean hasHttpsRedirect()
       The scheme portion of the URL will be swapped with "https".
       
      bool https_redirect = 4;
      Specified by:
      hasHttpsRedirect in interface RedirectActionOrBuilder
      Returns:
      Whether the httpsRedirect field is set.
    • getHttpsRedirect

      public boolean getHttpsRedirect()
       The scheme portion of the URL will be swapped with "https".
       
      bool https_redirect = 4;
      Specified by:
      getHttpsRedirect in interface RedirectActionOrBuilder
      Returns:
      The httpsRedirect.
    • hasSchemeRedirect

      public boolean hasSchemeRedirect()
       The scheme portion of the URL will be swapped with this value.
       
      string scheme_redirect = 7;
      Specified by:
      hasSchemeRedirect in interface RedirectActionOrBuilder
      Returns:
      Whether the schemeRedirect field is set.
    • getSchemeRedirect

      public String getSchemeRedirect()
       The scheme portion of the URL will be swapped with this value.
       
      string scheme_redirect = 7;
      Specified by:
      getSchemeRedirect in interface RedirectActionOrBuilder
      Returns:
      The schemeRedirect.
    • getSchemeRedirectBytes

      public com.google.protobuf.ByteString getSchemeRedirectBytes()
       The scheme portion of the URL will be swapped with this value.
       
      string scheme_redirect = 7;
      Specified by:
      getSchemeRedirectBytes in interface RedirectActionOrBuilder
      Returns:
      The bytes for schemeRedirect.
    • getHostRedirect

      public String getHostRedirect()
       The host portion of the URL will be swapped with this value.
       
      string host_redirect = 1 [(.validate.rules) = { ... }
      Specified by:
      getHostRedirect in interface RedirectActionOrBuilder
      Returns:
      The hostRedirect.
    • getHostRedirectBytes

      public com.google.protobuf.ByteString getHostRedirectBytes()
       The host portion of the URL will be swapped with this value.
       
      string host_redirect = 1 [(.validate.rules) = { ... }
      Specified by:
      getHostRedirectBytes in interface RedirectActionOrBuilder
      Returns:
      The bytes for hostRedirect.
    • getPortRedirect

      public int getPortRedirect()
       The port value of the URL will be swapped with this value.
       
      uint32 port_redirect = 8;
      Specified by:
      getPortRedirect in interface RedirectActionOrBuilder
      Returns:
      The portRedirect.
    • hasPathRedirect

      public boolean hasPathRedirect()
       The path portion of the URL will be swapped with this value.
       Please note that query string in path_redirect will override the
       request's query string and will not be stripped.
      
       For example, let's say we have the following routes:
      
       - match: { path: "/old-path-1" }
       redirect: { path_redirect: "/new-path-1" }
       - match: { path: "/old-path-2" }
       redirect: { path_redirect: "/new-path-2", strip-query: "true" }
       - match: { path: "/old-path-3" }
       redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" }
      
       1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1"
       2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2"
       3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1"
       
      string path_redirect = 2 [(.validate.rules) = { ... }
      Specified by:
      hasPathRedirect in interface RedirectActionOrBuilder
      Returns:
      Whether the pathRedirect field is set.
    • getPathRedirect

      public String getPathRedirect()
       The path portion of the URL will be swapped with this value.
       Please note that query string in path_redirect will override the
       request's query string and will not be stripped.
      
       For example, let's say we have the following routes:
      
       - match: { path: "/old-path-1" }
       redirect: { path_redirect: "/new-path-1" }
       - match: { path: "/old-path-2" }
       redirect: { path_redirect: "/new-path-2", strip-query: "true" }
       - match: { path: "/old-path-3" }
       redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" }
      
       1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1"
       2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2"
       3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1"
       
      string path_redirect = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathRedirect in interface RedirectActionOrBuilder
      Returns:
      The pathRedirect.
    • getPathRedirectBytes

      public com.google.protobuf.ByteString getPathRedirectBytes()
       The path portion of the URL will be swapped with this value.
       Please note that query string in path_redirect will override the
       request's query string and will not be stripped.
      
       For example, let's say we have the following routes:
      
       - match: { path: "/old-path-1" }
       redirect: { path_redirect: "/new-path-1" }
       - match: { path: "/old-path-2" }
       redirect: { path_redirect: "/new-path-2", strip-query: "true" }
       - match: { path: "/old-path-3" }
       redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" }
      
       1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1"
       2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2"
       3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1"
       
      string path_redirect = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathRedirectBytes in interface RedirectActionOrBuilder
      Returns:
      The bytes for pathRedirect.
    • hasPrefixRewrite

      public boolean hasPrefixRewrite()
       Indicates that during redirection, the matched prefix (or path)
       should be swapped with this value. This option allows redirect URLs be dynamically created
       based on the request.
      
       .. attention::
      
       Pay attention to the use of trailing slashes as mentioned in
       :ref:`RouteAction's prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`.
       
      string prefix_rewrite = 5 [(.validate.rules) = { ... }
      Specified by:
      hasPrefixRewrite in interface RedirectActionOrBuilder
      Returns:
      Whether the prefixRewrite field is set.
    • getPrefixRewrite

      public String getPrefixRewrite()
       Indicates that during redirection, the matched prefix (or path)
       should be swapped with this value. This option allows redirect URLs be dynamically created
       based on the request.
      
       .. attention::
      
       Pay attention to the use of trailing slashes as mentioned in
       :ref:`RouteAction's prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`.
       
      string prefix_rewrite = 5 [(.validate.rules) = { ... }
      Specified by:
      getPrefixRewrite in interface RedirectActionOrBuilder
      Returns:
      The prefixRewrite.
    • getPrefixRewriteBytes

      public com.google.protobuf.ByteString getPrefixRewriteBytes()
       Indicates that during redirection, the matched prefix (or path)
       should be swapped with this value. This option allows redirect URLs be dynamically created
       based on the request.
      
       .. attention::
      
       Pay attention to the use of trailing slashes as mentioned in
       :ref:`RouteAction's prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`.
       
      string prefix_rewrite = 5 [(.validate.rules) = { ... }
      Specified by:
      getPrefixRewriteBytes in interface RedirectActionOrBuilder
      Returns:
      The bytes for prefixRewrite.
    • hasRegexRewrite

      public boolean hasRegexRewrite()
       Indicates that during redirect, portions of the path that match the
       pattern should be rewritten, even allowing the substitution of capture
       groups from the pattern into the new path as specified by the rewrite
       substitution string. This is useful to allow application paths to be
       rewritten in a way that is aware of segments with variable content like
       identifiers.
      
       Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
      
       * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
       string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
       into ``/v1/api/instance/foo``.
      
       * The pattern ``one`` paired with a substitution string of ``two`` would
       transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
      
       * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
       ``\1two\2`` would replace only the first occurrence of ``one``,
       transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
      
       * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
       would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
       ``/aaa/yyy/bbb``.
       
      .envoy.type.matcher.v3.RegexMatchAndSubstitute regex_rewrite = 9;
      Specified by:
      hasRegexRewrite in interface RedirectActionOrBuilder
      Returns:
      Whether the regexRewrite field is set.
    • getRegexRewrite

      public RegexMatchAndSubstitute getRegexRewrite()
       Indicates that during redirect, portions of the path that match the
       pattern should be rewritten, even allowing the substitution of capture
       groups from the pattern into the new path as specified by the rewrite
       substitution string. This is useful to allow application paths to be
       rewritten in a way that is aware of segments with variable content like
       identifiers.
      
       Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
      
       * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
       string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
       into ``/v1/api/instance/foo``.
      
       * The pattern ``one`` paired with a substitution string of ``two`` would
       transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
      
       * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
       ``\1two\2`` would replace only the first occurrence of ``one``,
       transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
      
       * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
       would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
       ``/aaa/yyy/bbb``.
       
      .envoy.type.matcher.v3.RegexMatchAndSubstitute regex_rewrite = 9;
      Specified by:
      getRegexRewrite in interface RedirectActionOrBuilder
      Returns:
      The regexRewrite.
    • getRegexRewriteOrBuilder

      public RegexMatchAndSubstituteOrBuilder getRegexRewriteOrBuilder()
       Indicates that during redirect, portions of the path that match the
       pattern should be rewritten, even allowing the substitution of capture
       groups from the pattern into the new path as specified by the rewrite
       substitution string. This is useful to allow application paths to be
       rewritten in a way that is aware of segments with variable content like
       identifiers.
      
       Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
      
       * The path pattern ``^/service/([^/]+)(/.*)$`` paired with a substitution
       string of ``\2/instance/\1`` would transform ``/service/foo/v1/api``
       into ``/v1/api/instance/foo``.
      
       * The pattern ``one`` paired with a substitution string of ``two`` would
       transform ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/two/zzz``.
      
       * The pattern ``^(.*?)one(.*)$`` paired with a substitution string of
       ``\1two\2`` would replace only the first occurrence of ``one``,
       transforming path ``/xxx/one/yyy/one/zzz`` into ``/xxx/two/yyy/one/zzz``.
      
       * The pattern ``(?i)/xxx/`` paired with a substitution string of ``/yyy/``
       would do a case-insensitive match and transform path ``/aaa/XxX/bbb`` to
       ``/aaa/yyy/bbb``.
       
      .envoy.type.matcher.v3.RegexMatchAndSubstitute regex_rewrite = 9;
      Specified by:
      getRegexRewriteOrBuilder in interface RedirectActionOrBuilder
    • getResponseCodeValue

      public int getResponseCodeValue()
       The HTTP status code to use in the redirect response. The default response
       code is MOVED_PERMANENTLY (301).
       
      .envoy.config.route.v3.RedirectAction.RedirectResponseCode response_code = 3 [(.validate.rules) = { ... }
      Specified by:
      getResponseCodeValue in interface RedirectActionOrBuilder
      Returns:
      The enum numeric value on the wire for responseCode.
    • getResponseCode

      public RedirectAction.RedirectResponseCode getResponseCode()
       The HTTP status code to use in the redirect response. The default response
       code is MOVED_PERMANENTLY (301).
       
      .envoy.config.route.v3.RedirectAction.RedirectResponseCode response_code = 3 [(.validate.rules) = { ... }
      Specified by:
      getResponseCode in interface RedirectActionOrBuilder
      Returns:
      The responseCode.
    • getStripQuery

      public boolean getStripQuery()
       Indicates that during redirection, the query portion of the URL will
       be removed. Default value is false.
       
      bool strip_query = 6;
      Specified by:
      getStripQuery in interface RedirectActionOrBuilder
      Returns:
      The stripQuery.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static RedirectAction parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RedirectAction parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RedirectAction parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RedirectAction parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RedirectAction parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RedirectAction parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RedirectAction parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public RedirectAction.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static RedirectAction.Builder newBuilder()
    • newBuilder

      public static RedirectAction.Builder newBuilder(RedirectAction prototype)
    • toBuilder

      public RedirectAction.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected RedirectAction.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static RedirectAction getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<RedirectAction> parser()
    • getParserForType

      public com.google.protobuf.Parser<RedirectAction> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public RedirectAction getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder