.. _envoy_v3_api_file_envoy/data/tap/v3/http.proto:

HTTP tap data (proto)
=====================






.. _envoy_v3_api_msg_data.tap.v3.HttpBufferedTrace:

data.tap.v3.HttpBufferedTrace
-----------------------------


:repo:`[data.tap.v3.HttpBufferedTrace proto] <api/envoy/data/tap/v3/http.proto#L19>`

A fully buffered HTTP trace message.



.. code-block:: json
  :force:

  {
    "request": {...},
    "response": {...}
  }

.. _envoy_v3_api_field_data.tap.v3.HttpBufferedTrace.request:


request
  (:ref:`data.tap.v3.HttpBufferedTrace.Message <envoy_v3_api_msg_data.tap.v3.HttpBufferedTrace.Message>`) Request message.


.. _envoy_v3_api_field_data.tap.v3.HttpBufferedTrace.response:


response
  (:ref:`data.tap.v3.HttpBufferedTrace.Message <envoy_v3_api_msg_data.tap.v3.HttpBufferedTrace.Message>`) Response message.


.. _envoy_v3_api_msg_data.tap.v3.HttpBufferedTrace.Message:

data.tap.v3.HttpBufferedTrace.Message
-------------------------------------


:repo:`[data.tap.v3.HttpBufferedTrace.Message proto] <api/envoy/data/tap/v3/http.proto#L24>`

HTTP message wrapper.



.. code-block:: json
  :force:

  {
    "headers": [],
    "body": {...},
    "trailers": []
  }

.. _envoy_v3_api_field_data.tap.v3.HttpBufferedTrace.Message.headers:


headers
  (**repeated** :ref:`config.core.v3.HeaderValue <envoy_v3_api_msg_config.core.v3.HeaderValue>`) Message headers.


.. _envoy_v3_api_field_data.tap.v3.HttpBufferedTrace.Message.body:


body
  (:ref:`data.tap.v3.Body <envoy_v3_api_msg_data.tap.v3.Body>`) Message body.


.. _envoy_v3_api_field_data.tap.v3.HttpBufferedTrace.Message.trailers:


trailers
  (**repeated** :ref:`config.core.v3.HeaderValue <envoy_v3_api_msg_config.core.v3.HeaderValue>`) Message trailers.




.. _envoy_v3_api_msg_data.tap.v3.HttpStreamedTraceSegment:

data.tap.v3.HttpStreamedTraceSegment
------------------------------------


:repo:`[data.tap.v3.HttpStreamedTraceSegment proto] <api/envoy/data/tap/v3/http.proto#L47>`

A streamed HTTP trace segment. Multiple segments make up a full trace.



.. code-block:: json
  :force:

  {
    "trace_id": ...,
    "request_headers": {...},
    "request_body_chunk": {...},
    "request_trailers": {...},
    "response_headers": {...},
    "response_body_chunk": {...},
    "response_trailers": {...}
  }

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.trace_id:


trace_id
  (`uint64 <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used
  for long term stable uniqueness.


.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers:


request_headers
  (:ref:`config.core.v3.HeaderMap <envoy_v3_api_msg_config.core.v3.HeaderMap>`) Request headers.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk:


request_body_chunk
  (:ref:`data.tap.v3.Body <envoy_v3_api_msg_data.tap.v3.Body>`) Request body chunk.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers:


request_trailers
  (:ref:`config.core.v3.HeaderMap <envoy_v3_api_msg_config.core.v3.HeaderMap>`) Request trailers.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers:


response_headers
  (:ref:`config.core.v3.HeaderMap <envoy_v3_api_msg_config.core.v3.HeaderMap>`) Response headers.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk:


response_body_chunk
  (:ref:`data.tap.v3.Body <envoy_v3_api_msg_data.tap.v3.Body>`) Response body chunk.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.

.. _envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers:


response_trailers
  (:ref:`config.core.v3.HeaderMap <envoy_v3_api_msg_config.core.v3.HeaderMap>`) Response trailers.


  

  Only one of :ref:`request_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_headers>`, :ref:`request_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_body_chunk>`, :ref:`request_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.request_trailers>`, :ref:`response_headers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_headers>`, :ref:`response_body_chunk <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_body_chunk>`, :ref:`response_trailers <envoy_v3_api_field_data.tap.v3.HttpStreamedTraceSegment.response_trailers>` may be set.