Class RedirectAction

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RedirectActionOrBuilder, java.io.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:
    Serialized Form
    • Field Detail

      • schemeRewriteSpecifierCase_

        private int schemeRewriteSpecifierCase_
      • schemeRewriteSpecifier_

        private java.lang.Object schemeRewriteSpecifier_
      • pathRewriteSpecifierCase_

        private int pathRewriteSpecifierCase_
      • pathRewriteSpecifier_

        private java.lang.Object pathRewriteSpecifier_
      • HTTPS_REDIRECT_FIELD_NUMBER

        public static final int HTTPS_REDIRECT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SCHEME_REDIRECT_FIELD_NUMBER

        public static final int SCHEME_REDIRECT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HOST_REDIRECT_FIELD_NUMBER

        public static final int HOST_REDIRECT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • hostRedirect_

        private volatile java.lang.Object hostRedirect_
      • PORT_REDIRECT_FIELD_NUMBER

        public static final int PORT_REDIRECT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • portRedirect_

        private int portRedirect_
      • PATH_REDIRECT_FIELD_NUMBER

        public static final int PATH_REDIRECT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PREFIX_REWRITE_FIELD_NUMBER

        public static final int PREFIX_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REGEX_REWRITE_FIELD_NUMBER

        public static final int REGEX_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RESPONSE_CODE_FIELD_NUMBER

        public static final int RESPONSE_CODE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • responseCode_

        private int responseCode_
      • STRIP_QUERY_FIELD_NUMBER

        public static final int STRIP_QUERY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • 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 Detail

      • RedirectAction

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

        private RedirectAction()
    • Method Detail

      • 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
      • 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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.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​(java.lang.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​(java.nio.ByteBuffer data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RedirectAction parseFrom​(java.nio.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​(java.io.InputStream input)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

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

        public static RedirectAction parseDelimitedFrom​(java.io.InputStream input)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

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

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

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

        public RedirectAction.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • 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