Class HeaderValidatorConfig.UriPathNormalizationOptions.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
io.envoyproxy.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,HeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder,Cloneable
- Enclosing class:
- HeaderValidatorConfig.UriPathNormalizationOptions
public static final class HeaderValidatorConfig.UriPathNormalizationOptions.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
implements HeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder
Configuration options for URI path normalization and transformation. These options control how Envoy processes and normalizes incoming request URI paths to ensure consistent behavior and security. Path normalization helps prevent path traversal attacks and ensures that equivalent paths are handled consistently.Protobuf type
envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions-
Method Summary
Modifier and TypeMethodDescriptionaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()clearField(com.google.protobuf.Descriptors.FieldDescriptor field) clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``).Determines if adjacent slashes in the path are merged into one.Should paths be normalized according to RFC 3986?clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorThe action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``).intThe action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``).booleanDetermines if adjacent slashes in the path are merged into one.booleanShould paths be normalized according to RFC 3986?protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) setPathWithEscapedSlashesAction(HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction value) The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``).setPathWithEscapedSlashesActionValue(int value) The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``).setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setSkipMergingSlashes(boolean value) Determines if adjacent slashes in the path are merged into one.setSkipPathNormalization(boolean value) Should paths be normalized according to RFC 3986?setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
setField
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
clearField
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
clearOneof
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
setRepeatedField
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
addRepeatedField
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
mergeFrom
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder mergeFrom(com.google.protobuf.Message other) - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
mergeFrom
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>- Throws:
IOException
-
getSkipPathNormalization
public boolean getSkipPathNormalization()Should paths be normalized according to RFC 3986? This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Envoy will respond with 400 to requests with malformed paths that fail path normalization. The default behavior is to normalize the path. This value may be overridden by the runtime variable :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`. See `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_ for details of normalization. .. note:: Envoy does not perform `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_. URI path normalization can be applied to a portion of requests by setting the ``envoy_default_header_validator.path_normalization`` runtime value.
bool skip_path_normalization = 1;- Specified by:
getSkipPathNormalizationin interfaceHeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder- Returns:
- The skipPathNormalization.
-
setSkipPathNormalization
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setSkipPathNormalization(boolean value) Should paths be normalized according to RFC 3986? This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Envoy will respond with 400 to requests with malformed paths that fail path normalization. The default behavior is to normalize the path. This value may be overridden by the runtime variable :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`. See `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_ for details of normalization. .. note:: Envoy does not perform `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_. URI path normalization can be applied to a portion of requests by setting the ``envoy_default_header_validator.path_normalization`` runtime value.
bool skip_path_normalization = 1;- Parameters:
value- The skipPathNormalization to set.- Returns:
- This builder for chaining.
-
clearSkipPathNormalization
Should paths be normalized according to RFC 3986? This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Envoy will respond with 400 to requests with malformed paths that fail path normalization. The default behavior is to normalize the path. This value may be overridden by the runtime variable :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`. See `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_ for details of normalization. .. note:: Envoy does not perform `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_. URI path normalization can be applied to a portion of requests by setting the ``envoy_default_header_validator.path_normalization`` runtime value.
bool skip_path_normalization = 1;- Returns:
- This builder for chaining.
-
getSkipMergingSlashes
public boolean getSkipMergingSlashes()Determines if adjacent slashes in the path are merged into one. This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Setting this option to ``true`` will cause incoming requests with path ``//dir///file`` to not match against route with ``prefix`` match set to ``/dir``. Defaults to ``false``. .. note:: Slash merging is not part of the `HTTP spec <https://datatracker.ietf.org/doc/html/rfc3986>`_ and is provided for convenience. Merging of slashes in URI path can be applied to a portion of requests by setting the ``envoy_default_header_validator.merge_slashes`` runtime value.
bool skip_merging_slashes = 2;- Specified by:
getSkipMergingSlashesin interfaceHeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder- Returns:
- The skipMergingSlashes.
-
setSkipMergingSlashes
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setSkipMergingSlashes(boolean value) Determines if adjacent slashes in the path are merged into one. This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Setting this option to ``true`` will cause incoming requests with path ``//dir///file`` to not match against route with ``prefix`` match set to ``/dir``. Defaults to ``false``. .. note:: Slash merging is not part of the `HTTP spec <https://datatracker.ietf.org/doc/html/rfc3986>`_ and is provided for convenience. Merging of slashes in URI path can be applied to a portion of requests by setting the ``envoy_default_header_validator.merge_slashes`` runtime value.
bool skip_merging_slashes = 2;- Parameters:
value- The skipMergingSlashes to set.- Returns:
- This builder for chaining.
-
clearSkipMergingSlashes
Determines if adjacent slashes in the path are merged into one. This operation overwrites the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. Setting this option to ``true`` will cause incoming requests with path ``//dir///file`` to not match against route with ``prefix`` match set to ``/dir``. Defaults to ``false``. .. note:: Slash merging is not part of the `HTTP spec <https://datatracker.ietf.org/doc/html/rfc3986>`_ and is provided for convenience. Merging of slashes in URI path can be applied to a portion of requests by setting the ``envoy_default_header_validator.merge_slashes`` runtime value.
bool skip_merging_slashes = 2;- Returns:
- This builder for chaining.
-
getPathWithEscapedSlashesActionValue
public int getPathWithEscapedSlashesActionValue()The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``). This operation may overwrite the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. The handling of escaped slashes is important for security as these sequences can be used in path confusion attacks to bypass access controls.
.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3 [(.validate.rules) = { ... }- Specified by:
getPathWithEscapedSlashesActionValuein interfaceHeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder- Returns:
- The enum numeric value on the wire for pathWithEscapedSlashesAction.
-
setPathWithEscapedSlashesActionValue
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setPathWithEscapedSlashesActionValue(int value) The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``). This operation may overwrite the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. The handling of escaped slashes is important for security as these sequences can be used in path confusion attacks to bypass access controls.
.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3 [(.validate.rules) = { ... }- Parameters:
value- The enum numeric value on the wire for pathWithEscapedSlashesAction to set.- Returns:
- This builder for chaining.
-
getPathWithEscapedSlashesAction
public HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction getPathWithEscapedSlashesAction()The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``). This operation may overwrite the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. The handling of escaped slashes is important for security as these sequences can be used in path confusion attacks to bypass access controls.
.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3 [(.validate.rules) = { ... }- Specified by:
getPathWithEscapedSlashesActionin interfaceHeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder- Returns:
- The pathWithEscapedSlashesAction.
-
setPathWithEscapedSlashesAction
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder setPathWithEscapedSlashesAction(HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction value) The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``). This operation may overwrite the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. The handling of escaped slashes is important for security as these sequences can be used in path confusion attacks to bypass access controls.
.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3 [(.validate.rules) = { ... }- Parameters:
value- The pathWithEscapedSlashesAction to set.- Returns:
- This builder for chaining.
-
clearPathWithEscapedSlashesAction
public HeaderValidatorConfig.UriPathNormalizationOptions.Builder clearPathWithEscapedSlashesAction()The action to take when request URL path contains escaped slash sequences (``%2F``, ``%2f``, ``%5C`` and ``%5c``). This operation may overwrite the original request URI path and the new path is used for processing of the request by HTTP filters and proxied to the upstream service. The handling of escaped slashes is important for security as these sequences can be used in path confusion attacks to bypass access controls.
.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3 [(.validate.rules) = { ... }- Returns:
- This builder for chaining.
-
setUnknownFields
public final HeaderValidatorConfig.UriPathNormalizationOptions.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-
mergeUnknownFields
public final HeaderValidatorConfig.UriPathNormalizationOptions.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderValidatorConfig.UriPathNormalizationOptions.Builder>
-