Class 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.GeneratedMessageV3
    implements RedirectActionOrBuilder
     [#next-free-field: 10]
     
    Protobuf type envoy.config.route.v3.RedirectAction
    See Also:
    Serialized Form
    • Field Detail

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

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

        public static final int STRIP_QUERY_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • 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.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • 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​(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
      • 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.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • getDefaultInstanceForType

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