Class HeaderValidatorConfig.UriPathNormalizationOptions

    • Field Detail

      • SKIP_PATH_NORMALIZATION_FIELD_NUMBER

        public static final int SKIP_PATH_NORMALIZATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SKIP_MERGING_SLASHES_FIELD_NUMBER

        public static final int SKIP_MERGING_SLASHES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PATH_WITH_ESCAPED_SLASHES_ACTION_FIELD_NUMBER

        public static final int PATH_WITH_ESCAPED_SLASHES_ACTION_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
      • 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 that 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:
        getSkipPathNormalization in interface HeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder
        Returns:
        The skipPathNormalization.
      • 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 that slash merging is not part of
         `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:
        getSkipMergingSlashes in interface HeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder
        Returns:
        The skipMergingSlashes.
      • 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.
         
        .envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 3;
        Specified by:
        getPathWithEscapedSlashesActionValue in interface HeaderValidatorConfig.UriPathNormalizationOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for pathWithEscapedSlashesAction.
      • 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 HeaderValidatorConfig.UriPathNormalizationOptions parseFrom​(com.google.protobuf.ByteString data)
                                                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HeaderValidatorConfig.UriPathNormalizationOptions parseFrom​(com.google.protobuf.ByteString data,
                                                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HeaderValidatorConfig.UriPathNormalizationOptions parseFrom​(byte[] data,
                                                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • getParserForType

        public com.google.protobuf.Parser<HeaderValidatorConfig.UriPathNormalizationOptions> 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 HeaderValidatorConfig.UriPathNormalizationOptions getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder