Class DynamicModuleFilter
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,DynamicModuleFilterOrBuilder,Serializable
public final class DynamicModuleFilter
extends com.google.protobuf.GeneratedMessageV3
implements DynamicModuleFilterOrBuilder
Configuration for the Dynamic Modules HTTP filter. This filter allows loading shared object files that can be loaded via ``dlopen`` to extend the HTTP filter chain. A module can be loaded by multiple HTTP filters; the module is loaded only once and shared across multiple filters. A dynamic module HTTP filter can opt into being a terminal filter with no upstream by setting :ref:`terminal_filter <envoy_v3_api_field_extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter.terminal_filter>` to ``true``. A terminal dynamic module can use ``send_`` ABI methods to send response headers, body, and trailers to the downstream.Protobuf type
envoy.extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConfiguration for the Dynamic Modules HTTP filter.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, 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 Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic DynamicModuleFilterstatic final com.google.protobuf.Descriptors.DescriptorSpecifies the shared-object level configuration.Specifies the shared-object level configuration.com.google.protobuf.AnyThe configuration for the filter chosen by ``filter_name``.com.google.protobuf.AnyOrBuilderThe configuration for the filter chosen by ``filter_name``.The name for this filter configuration.com.google.protobuf.ByteStringThe name for this filter configuration.com.google.protobuf.Parser<DynamicModuleFilter>intbooleanIf ``true``, the dynamic module is a terminal filter to use without an upstream.booleanSpecifies the shared-object level configuration.booleanThe configuration for the filter chosen by ``filter_name``.inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic DynamicModuleFilter.Builderstatic DynamicModuleFilter.BuildernewBuilder(DynamicModuleFilter prototype) protected DynamicModuleFilter.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static DynamicModuleFilterparseDelimitedFrom(InputStream input) static DynamicModuleFilterparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleFilterparseFrom(byte[] data) static DynamicModuleFilterparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleFilterparseFrom(com.google.protobuf.ByteString data) static DynamicModuleFilterparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleFilterparseFrom(com.google.protobuf.CodedInputStream input) static DynamicModuleFilterparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleFilterparseFrom(InputStream input) static DynamicModuleFilterparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleFilterparseFrom(ByteBuffer data) static DynamicModuleFilterparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<DynamicModuleFilter>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
DYNAMIC_MODULE_CONFIG_FIELD_NUMBER
public static final int DYNAMIC_MODULE_CONFIG_FIELD_NUMBER- See Also:
-
FILTER_NAME_FIELD_NUMBER
public static final int FILTER_NAME_FIELD_NUMBER- See Also:
-
FILTER_CONFIG_FIELD_NUMBER
public static final int FILTER_CONFIG_FIELD_NUMBER- See Also:
-
TERMINAL_FILTER_FIELD_NUMBER
public static final int TERMINAL_FILTER_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
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
-
hasDynamicModuleConfig
public boolean hasDynamicModuleConfig()Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
hasDynamicModuleConfigin interfaceDynamicModuleFilterOrBuilder- Returns:
- Whether the dynamicModuleConfig field is set.
-
getDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigin interfaceDynamicModuleFilterOrBuilder- Returns:
- The dynamicModuleConfig.
-
getDynamicModuleConfigOrBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigOrBuilderin interfaceDynamicModuleFilterOrBuilder
-
getFilterName
The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations. When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's HTTP filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNamein interfaceDynamicModuleFilterOrBuilder- Returns:
- The filterName.
-
getFilterNameBytes
public com.google.protobuf.ByteString getFilterNameBytes()The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations. When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's HTTP filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNameBytesin interfaceDynamicModuleFilterOrBuilder- Returns:
- The bytes for filterName.
-
hasFilterConfig
public boolean hasFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's HTTP filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for logging and one for header manipulation, ``filter_name`` is used to choose either logging or header manipulation. The ``filter_config`` can be used to configure the logging level or the header manipulation behavior. ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing in a string filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing in raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
hasFilterConfigin interfaceDynamicModuleFilterOrBuilder- Returns:
- Whether the filterConfig field is set.
-
getFilterConfig
public com.google.protobuf.Any getFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's HTTP filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for logging and one for header manipulation, ``filter_name`` is used to choose either logging or header manipulation. The ``filter_config`` can be used to configure the logging level or the header manipulation behavior. ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing in a string filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing in raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigin interfaceDynamicModuleFilterOrBuilder- Returns:
- The filterConfig.
-
getFilterConfigOrBuilder
public com.google.protobuf.AnyOrBuilder getFilterConfigOrBuilder()The configuration for the filter chosen by ``filter_name``. This is passed to the module's HTTP filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for logging and one for header manipulation, ``filter_name`` is used to choose either logging or header manipulation. The ``filter_config`` can be used to configure the logging level or the header manipulation behavior. ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing in a string filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing in raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigOrBuilderin interfaceDynamicModuleFilterOrBuilder
-
getTerminalFilter
public boolean getTerminalFilter()If ``true``, the dynamic module is a terminal filter to use without an upstream. The dynamic module is responsible for creating and sending the response to downstream. Defaults to ``false``.
bool terminal_filter = 4;- Specified by:
getTerminalFilterin interfaceDynamicModuleFilterOrBuilder- Returns:
- The terminalFilter.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static DynamicModuleFilter parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleFilter parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleFilter parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleFilter parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleFilter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleFilter parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static DynamicModuleFilter parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static DynamicModuleFilter parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleFilter parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleFilter parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected DynamicModuleFilter.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-