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