Class CustomHeaderConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CustomHeaderConfigOrBuilder, Serializable

    public final class CustomHeaderConfig
    extends com.google.protobuf.GeneratedMessageV3
    implements CustomHeaderConfigOrBuilder
     This extension allows for the original downstream remote IP to be detected
     by reading the value from a configured header name. If the value is successfully parsed
     as an IP, it'll be treated as the effective downstream remote address and seen as such
     by all filters. See :ref:`original_ip_detection_extensions
     <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.original_ip_detection_extensions>`
     for an overview of how extensions operate and what happens when an extension fails
     to detect the remote IP.
     [#extension: envoy.http.original_ip_detection.custom_header]
     
    Protobuf type envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CustomHeaderConfig.Builder
      This extension allows for the original downstream remote IP to be detected by reading the value from a configured header name.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • HEADER_NAME_FIELD_NUMBER

        public static final int HEADER_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ALLOW_EXTENSION_TO_SET_ADDRESS_AS_TRUSTED_FIELD_NUMBER

        public static final int ALLOW_EXTENSION_TO_SET_ADDRESS_AS_TRUSTED_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REJECT_WITH_STATUS_FIELD_NUMBER

        public static final int REJECT_WITH_STATUS_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
      • getHeaderName

        public String getHeaderName()
         The header name containing the original downstream remote address, if present.
         Note: in the case of a multi-valued header, only the first value is tried and the rest are ignored.
         
        string header_name = 1 [(.validate.rules) = { ... }
        Specified by:
        getHeaderName in interface CustomHeaderConfigOrBuilder
        Returns:
        The headerName.
      • getHeaderNameBytes

        public com.google.protobuf.ByteString getHeaderNameBytes()
         The header name containing the original downstream remote address, if present.
         Note: in the case of a multi-valued header, only the first value is tried and the rest are ignored.
         
        string header_name = 1 [(.validate.rules) = { ... }
        Specified by:
        getHeaderNameBytes in interface CustomHeaderConfigOrBuilder
        Returns:
        The bytes for headerName.
      • getAllowExtensionToSetAddressAsTrusted

        public boolean getAllowExtensionToSetAddressAsTrusted()
         If set to true, the extension could decide that the detected address should be treated as
         trusted by the HCM. If the address is considered :ref:`trusted<config_http_conn_man_headers_x-forwarded-for_trusted_client_address>`,
         it might be used as input to determine if the request is internal (among other things).
         
        bool allow_extension_to_set_address_as_trusted = 2;
        Specified by:
        getAllowExtensionToSetAddressAsTrusted in interface CustomHeaderConfigOrBuilder
        Returns:
        The allowExtensionToSetAddressAsTrusted.
      • hasRejectWithStatus

        public boolean hasRejectWithStatus()
         If this is set, the request will be rejected when detection fails using it as the HTTP response status.
         .. note::
           If this is set to < 400 or > 511, the default status 403 will be used instead.
         
        .envoy.type.v3.HttpStatus reject_with_status = 3;
        Specified by:
        hasRejectWithStatus in interface CustomHeaderConfigOrBuilder
        Returns:
        Whether the rejectWithStatus field is set.
      • getRejectWithStatus

        public HttpStatus getRejectWithStatus()
         If this is set, the request will be rejected when detection fails using it as the HTTP response status.
         .. note::
           If this is set to < 400 or > 511, the default status 403 will be used instead.
         
        .envoy.type.v3.HttpStatus reject_with_status = 3;
        Specified by:
        getRejectWithStatus in interface CustomHeaderConfigOrBuilder
        Returns:
        The rejectWithStatus.
      • getRejectWithStatusOrBuilder

        public HttpStatusOrBuilder getRejectWithStatusOrBuilder()
         If this is set, the request will be rejected when detection fails using it as the HTTP response status.
         .. note::
           If this is set to < 400 or > 511, the default status 403 will be used instead.
         
        .envoy.type.v3.HttpStatus reject_with_status = 3;
        Specified by:
        getRejectWithStatusOrBuilder in interface CustomHeaderConfigOrBuilder
      • 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 CustomHeaderConfig parseFrom​(ByteBuffer data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CustomHeaderConfig parseFrom​(ByteBuffer data,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CustomHeaderConfig parseFrom​(com.google.protobuf.ByteString data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

        public static CustomHeaderConfig parseFrom​(byte[] data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

        public static CustomHeaderConfig parseFrom​(com.google.protobuf.CodedInputStream input,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CustomHeaderConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public CustomHeaderConfig.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CustomHeaderConfig.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

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