Class UriTemplateRewriteConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
io.envoyproxy.envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, UriTemplateRewriteConfigOrBuilder, 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 Details

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

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear 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
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
    • setField

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

      public UriTemplateRewriteConfig.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
    • clearOneof

      public UriTemplateRewriteConfig.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
    • setRepeatedField

      public UriTemplateRewriteConfig.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, 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, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<UriTemplateRewriteConfig.Builder>
    • mergeFrom

      public UriTemplateRewriteConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<UriTemplateRewriteConfig.Builder>
    • mergeFrom

    • 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 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:
      IOException
    • getPathTemplateRewrite

      public String getPathTemplateRewrite()
      string path_template_rewrite = 1 [(.validate.rules) = { ... }
      Specified by:
      getPathTemplateRewrite in interface UriTemplateRewriteConfigOrBuilder
      Returns:
      The pathTemplateRewrite.
    • getPathTemplateRewriteBytes

      public com.google.protobuf.ByteString getPathTemplateRewriteBytes()
      string path_template_rewrite = 1 [(.validate.rules) = { ... }
      Specified by:
      getPathTemplateRewriteBytes in interface UriTemplateRewriteConfigOrBuilder
      Returns:
      The bytes for pathTemplateRewrite.
    • setPathTemplateRewrite

      public UriTemplateRewriteConfig.Builder setPathTemplateRewrite(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>