Interface TcpProxy.TunnelingConfigOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
TcpProxy.TunnelingConfig,TcpProxy.TunnelingConfig.Builder
- Enclosing class:
- TcpProxy
public static interface TcpProxy.TunnelingConfigOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptiongetHeadersToAdd(int index) Additional request headers to send to the upstream proxy.intAdditional request headers to send to the upstream proxy.Additional request headers to send to the upstream proxy.getHeadersToAddOrBuilder(int index) Additional request headers to send to the upstream proxy.List<? extends HeaderValueOptionOrBuilder>Additional request headers to send to the upstream proxy.The hostname to send in the synthesized CONNECT headers to the upstream proxy.com.google.protobuf.ByteStringThe hostname to send in the synthesized CONNECT headers to the upstream proxy.The path used with the POST method.com.google.protobuf.ByteStringThe path used with the POST method.booleanSave response headers to the downstream connection's filter state for consumption by network filters.booleanSave response trailers to the downstream connection's filter state for consumption by network filters.The configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling.The configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling.The request header name to use for emitting the generated request ID on the tunneling HTTP request.com.google.protobuf.ByteStringThe request header name to use for emitting the generated request ID on the tunneling HTTP request.The dynamic metadata key to use when storing the generated request ID.com.google.protobuf.ByteStringThe dynamic metadata key to use when storing the generated request ID.booleanUse the ``POST`` method instead of the ``CONNECT`` method to tunnel the TCP stream.booleanThe configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitializedMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getHostname
String getHostname()The hostname to send in the synthesized CONNECT headers to the upstream proxy. This field evaluates command operators if present; otherwise, the value is used as-is. For example, dynamically set the hostname using downstream SNI: .. code-block:: yaml tunneling_config: hostname: "%REQUESTED_SERVER_NAME%:443" For example, dynamically set the hostname using dynamic metadata: .. code-block:: yaml tunneling_config: hostname: "%DYNAMIC_METADATA(tunnel:address)%"string hostname = 1 [(.validate.rules) = { ... }- Returns:
- The hostname.
-
getHostnameBytes
com.google.protobuf.ByteString getHostnameBytes()The hostname to send in the synthesized CONNECT headers to the upstream proxy. This field evaluates command operators if present; otherwise, the value is used as-is. For example, dynamically set the hostname using downstream SNI: .. code-block:: yaml tunneling_config: hostname: "%REQUESTED_SERVER_NAME%:443" For example, dynamically set the hostname using dynamic metadata: .. code-block:: yaml tunneling_config: hostname: "%DYNAMIC_METADATA(tunnel:address)%"string hostname = 1 [(.validate.rules) = { ... }- Returns:
- The bytes for hostname.
-
getUsePost
boolean getUsePost()Use the ``POST`` method instead of the ``CONNECT`` method to tunnel the TCP stream. The ``protocol: bytestream`` header is not set for HTTP/2 to comply with the specification. The upstream proxy is expected to interpret the POST payload as raw TCP.
bool use_post = 2;- Returns:
- The usePost.
-
getHeadersToAddList
List<HeaderValueOption> getHeadersToAddList()Additional request headers to send to the upstream proxy. This is mainly used to trigger the upstream to convert POST requests back to CONNECT requests. Neither ``:``-prefixed pseudo-headers like ``:path`` nor the ``host`` header can be overridden.
repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... } -
getHeadersToAdd
Additional request headers to send to the upstream proxy. This is mainly used to trigger the upstream to convert POST requests back to CONNECT requests. Neither ``:``-prefixed pseudo-headers like ``:path`` nor the ``host`` header can be overridden.
repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... } -
getHeadersToAddCount
int getHeadersToAddCount()Additional request headers to send to the upstream proxy. This is mainly used to trigger the upstream to convert POST requests back to CONNECT requests. Neither ``:``-prefixed pseudo-headers like ``:path`` nor the ``host`` header can be overridden.
repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... } -
getHeadersToAddOrBuilderList
List<? extends HeaderValueOptionOrBuilder> getHeadersToAddOrBuilderList()Additional request headers to send to the upstream proxy. This is mainly used to trigger the upstream to convert POST requests back to CONNECT requests. Neither ``:``-prefixed pseudo-headers like ``:path`` nor the ``host`` header can be overridden.
repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... } -
getHeadersToAddOrBuilder
Additional request headers to send to the upstream proxy. This is mainly used to trigger the upstream to convert POST requests back to CONNECT requests. Neither ``:``-prefixed pseudo-headers like ``:path`` nor the ``host`` header can be overridden.
repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... } -
getPropagateResponseHeaders
boolean getPropagateResponseHeaders()Save response headers to the downstream connection's filter state for consumption by network filters. The filter state key is ``envoy.tcp_proxy.propagate_response_headers``.
bool propagate_response_headers = 4;- Returns:
- The propagateResponseHeaders.
-
getPostPath
String getPostPath()The path used with the POST method. The default path is ``/``. If this field is specified and :ref:`use_post field <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.use_post>` is not set to true, the configuration will be rejected.
string post_path = 5;- Returns:
- The postPath.
-
getPostPathBytes
com.google.protobuf.ByteString getPostPathBytes()The path used with the POST method. The default path is ``/``. If this field is specified and :ref:`use_post field <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.use_post>` is not set to true, the configuration will be rejected.
string post_path = 5;- Returns:
- The bytes for postPath.
-
getPropagateResponseTrailers
boolean getPropagateResponseTrailers()Save response trailers to the downstream connection's filter state for consumption by network filters. The filter state key is ``envoy.tcp_proxy.propagate_response_trailers``.
bool propagate_response_trailers = 6;- Returns:
- The propagateResponseTrailers.
-
hasRequestIdExtension
boolean hasRequestIdExtension()The configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling. If this field is set, a request ID is generated using the specified extension. If this field is not set, no request ID is generated. When a request ID is generated, it is also stored in the downstream connection's dynamic metadata under the namespace ``envoy.filters.network.tcp_proxy`` with the key ``tunnel_request_id`` to allow emission from TCP proxy access logs via the ``%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:tunnel_request_id)%`` formatter. [#extension-category: envoy.request_id]
.envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 7;- Returns:
- Whether the requestIdExtension field is set.
-
getRequestIdExtension
RequestIDExtension getRequestIdExtension()The configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling. If this field is set, a request ID is generated using the specified extension. If this field is not set, no request ID is generated. When a request ID is generated, it is also stored in the downstream connection's dynamic metadata under the namespace ``envoy.filters.network.tcp_proxy`` with the key ``tunnel_request_id`` to allow emission from TCP proxy access logs via the ``%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:tunnel_request_id)%`` formatter. [#extension-category: envoy.request_id]
.envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 7;- Returns:
- The requestIdExtension.
-
getRequestIdExtensionOrBuilder
RequestIDExtensionOrBuilder getRequestIdExtensionOrBuilder()The configuration of the request ID extension used for generation, validation, and associated tracing operations when tunneling. If this field is set, a request ID is generated using the specified extension. If this field is not set, no request ID is generated. When a request ID is generated, it is also stored in the downstream connection's dynamic metadata under the namespace ``envoy.filters.network.tcp_proxy`` with the key ``tunnel_request_id`` to allow emission from TCP proxy access logs via the ``%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:tunnel_request_id)%`` formatter. [#extension-category: envoy.request_id]
.envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 7; -
getRequestIdHeader
String getRequestIdHeader()The request header name to use for emitting the generated request ID on the tunneling HTTP request. If not specified or set to an empty string, the default header name ``x-request-id`` is used. .. note:: This setting does not alter the internal request ID handling elsewhere in Envoy and only controls the header emitted on the tunneling request.
string request_id_header = 8;- Returns:
- The requestIdHeader.
-
getRequestIdHeaderBytes
com.google.protobuf.ByteString getRequestIdHeaderBytes()The request header name to use for emitting the generated request ID on the tunneling HTTP request. If not specified or set to an empty string, the default header name ``x-request-id`` is used. .. note:: This setting does not alter the internal request ID handling elsewhere in Envoy and only controls the header emitted on the tunneling request.
string request_id_header = 8;- Returns:
- The bytes for requestIdHeader.
-
getRequestIdMetadataKey
String getRequestIdMetadataKey()The dynamic metadata key to use when storing the generated request ID. The metadata is stored under the namespace ``envoy.filters.network.tcp_proxy``. If not specified or set to an empty string, the default key ``tunnel_request_id`` is used. This enables customizing the key used by access log formatters such as ``%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:<key>)%``.
string request_id_metadata_key = 9;- Returns:
- The requestIdMetadataKey.
-
getRequestIdMetadataKeyBytes
com.google.protobuf.ByteString getRequestIdMetadataKeyBytes()The dynamic metadata key to use when storing the generated request ID. The metadata is stored under the namespace ``envoy.filters.network.tcp_proxy``. If not specified or set to an empty string, the default key ``tunnel_request_id`` is used. This enables customizing the key used by access log formatters such as ``%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:<key>)%``.
string request_id_metadata_key = 9;- Returns:
- The bytes for requestIdMetadataKey.
-