Class UriTemplateRewriteConfig.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, UriTemplateRewriteConfigOrBuilder, java.lang.Cloneable
    Enclosing class:
    UriTemplateRewriteConfig

    public static final class UriTemplateRewriteConfig.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
    implements UriTemplateRewriteConfigOrBuilder
     Indicates that during forwarding, portions of the path that match the
     pattern should be rewritten, even allowing the substitution of variables
     from the match pattern into the new path as specified by the rewrite template.
     This is useful to allow application paths to be
     rewritten in a way that is aware of segments with variable content like
     identifiers. The router filter will place the original path as it was
     before the rewrite into the :ref:`x-envoy-original-path
     <config_http_filters_router_x-envoy-original-path>` header.
     Only one of :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`,
     :ref:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>`,
     or *path_template_rewrite* may be specified.
     Template pattern matching types:
     * ``*`` : Matches a single path component, up to the next path separator: /
     * ``**`` : Matches zero or more path segments. If present, must be the last operator.
     * ``{name} or {name=*}`` :  A named variable matching one path segment up to the next path separator: /.
     * ``{name=videos/*}`` : A named variable matching more than one path segment.
          The path component matching videos/* is captured as the named variable.
     * ``{name=**}`` : A named variable matching zero or more path segments.
     Only named matches can be used to perform rewrites.
     Examples using path_template_rewrite:
     * The pattern ``/{one}/{two}`` paired with a substitution string of ``/{two}/{one}`` would
       transform ``/cat/dog`` into ``/dog/cat``.
     * The pattern ``/videos/{language=lang/*}/*`` paired with a substitution string of
       ``/{language}`` would transform ``/videos/lang/en/video.m4s`` into ``lang/en``.
     * The path pattern ``/content/{format}/{lang}/{id}/{file}.vtt`` paired with a substitution
       string of ``/{lang}/{format}/{file}.vtt`` would transform ``/content/hls/en-us/12345/en_193913.vtt``
       into ``/en-us/hls/en_193913.vtt``.
     
    Protobuf type envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig
    • Method Detail

      • 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.Builder<UriTemplateRewriteConfig.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • getDefaultInstanceForType

        public UriTemplateRewriteConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public UriTemplateRewriteConfig build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public UriTemplateRewriteConfig buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • setField

        public UriTemplateRewriteConfig.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                         java.lang.Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • setRepeatedField

        public UriTemplateRewriteConfig.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                 int index,
                                                                 java.lang.Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • addRepeatedField

        public UriTemplateRewriteConfig.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                 java.lang.Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • mergeFrom

        public UriTemplateRewriteConfig.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                   throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<UriTemplateRewriteConfig.Builder>
        Throws:
        java.io.IOException
      • setPathTemplateRewrite

        public UriTemplateRewriteConfig.Builder setPathTemplateRewrite​(java.lang.String value)
        string path_template_rewrite = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The pathTemplateRewrite to set.
        Returns:
        This builder for chaining.
      • clearPathTemplateRewrite

        public UriTemplateRewriteConfig.Builder clearPathTemplateRewrite()
        string path_template_rewrite = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setPathTemplateRewriteBytes

        public UriTemplateRewriteConfig.Builder setPathTemplateRewriteBytes​(com.google.protobuf.ByteString value)
        string path_template_rewrite = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for pathTemplateRewrite to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final UriTemplateRewriteConfig.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
      • mergeUnknownFields

        public final UriTemplateRewriteConfig.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>