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 Type
    Method
    Description
    getHeadersToAdd(int index)
    Additional request headers to upstream proxy.
    int
    Additional request headers to upstream proxy.
    Additional request headers to upstream proxy.
    Additional request headers to upstream proxy.
    Additional request headers to upstream proxy.
    The hostname to send in the synthesized CONNECT headers to the upstream proxy.
    com.google.protobuf.ByteString
    The hostname to send in the synthesized CONNECT headers to the upstream proxy.
    The path used with POST method.
    com.google.protobuf.ByteString
    The path used with POST method.
    boolean
    Save the response headers to the downstream info filter state for consumption by the network filters.
    boolean
    Save the response trailers to the downstream info filter state for consumption by the network filters.
    boolean
    Use POST method instead of CONNECT method to tunnel the TCP stream.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods 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 set, otherwise returns hostname as is.
      
       Example: dynamically set hostname using downstream SNI
      
       .. code-block:: yaml
      
          tunneling_config:
            hostname: "%REQUESTED_SERVER_NAME%:443"
      
       Example: dynamically set 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 set, otherwise returns hostname as is.
      
       Example: dynamically set hostname using downstream SNI
      
       .. code-block:: yaml
      
          tunneling_config:
            hostname: "%REQUESTED_SERVER_NAME%:443"
      
       Example: dynamically set 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 POST method instead of CONNECT method to tunnel the TCP stream.
       The 'protocol: bytestream' header is also NOT set for HTTP/2 to comply with the spec.
      
       The upstream proxy is expected to convert POST payload as raw TCP.
       
      bool use_post = 2;
      Returns:
      The usePost.
    • getHeadersToAddList

      List<HeaderValueOption> getHeadersToAddList()
       Additional request headers to upstream proxy. This is mainly used to
       trigger upstream to convert POST requests back to CONNECT requests.
      
       Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
    • getHeadersToAdd

      HeaderValueOption getHeadersToAdd(int index)
       Additional request headers to upstream proxy. This is mainly used to
       trigger upstream to convert POST requests back to CONNECT requests.
      
       Neither ``:-prefixed`` pseudo-headers 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 upstream proxy. This is mainly used to
       trigger upstream to convert POST requests back to CONNECT requests.
      
       Neither ``:-prefixed`` pseudo-headers 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 upstream proxy. This is mainly used to
       trigger upstream to convert POST requests back to CONNECT requests.
      
       Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
    • getHeadersToAddOrBuilder

      HeaderValueOptionOrBuilder getHeadersToAddOrBuilder(int index)
       Additional request headers to upstream proxy. This is mainly used to
       trigger upstream to convert POST requests back to CONNECT requests.
      
       Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
    • getPropagateResponseHeaders

      boolean getPropagateResponseHeaders()
       Save the response headers to the downstream info filter state for consumption
       by the 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 POST method. Default path is ``/``. If post path is specified and
       :ref:`use_post field <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.use_post>`
       isn't true, it will be rejected.
       
      string post_path = 5;
      Returns:
      The postPath.
    • getPostPathBytes

      com.google.protobuf.ByteString getPostPathBytes()
       The path used with POST method. Default path is ``/``. If post path is specified and
       :ref:`use_post field <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.use_post>`
       isn't true, it will be rejected.
       
      string post_path = 5;
      Returns:
      The bytes for postPath.
    • getPropagateResponseTrailers

      boolean getPropagateResponseTrailers()
       Save the response trailers to the downstream info filter state for consumption
       by the network filters. The filter state key is ``envoy.tcp_proxy.propagate_response_trailers``.
       
      bool propagate_response_trailers = 6;
      Returns:
      The propagateResponseTrailers.