Skip to content

Commit

Permalink
filter contract: clarification around local replies (#14193)
Browse files Browse the repository at this point in the history
Follow-up to #13678.

Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
  • Loading branch information
Raúl Gutiérrez Segalés authored Nov 28, 2020
1 parent 0f7952d commit c70b3e6
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions docs/root/faq/extensions/contract.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ Is there a contract my HTTP filter must adhere to?

* Headers encoding/decoding

* During encoding/decoding of headers if a filter returns ``FilterHeadersStatus::StopIteration``,
the processing can be resumed if ``encodeData()``/``decodeData()`` return
* During encoding/decoding of headers if a local reply wasn't sent and a filter
returns ``FilterHeadersStatus::StopIteration``, the processing can be resumed
if ``encodeData()``/``decodeData()`` return
``FilterDataStatus::Continue`` or by explicitly calling
``continueEncoding()``/``continueDecoding()``.

* During encoding/decoding of headers if a filter returns
* During encoding/decoding of headers if a local reply wasn't sent and a filter returns
``FilterHeadersStatus::StopAllIterationAndBuffer`` or
``FilterHeadersStatus::StopAllIterationAndWatermark``, the processing can be resumed by calling
``continueEncoding()``/``continueDecoding()``.
Expand All @@ -24,15 +25,16 @@ Is there a contract my HTTP filter must adhere to?

* Data encoding/decoding

* During encoding/decoding of data if a filter returns
* During encoding/decoding of data if a local reply wasn't sent and a filter returns
``FilterDataStatus::StopIterationAndBuffer``, ``FilterDataStatus::StopIterationAndWatermark``,
or ``FilterDataStatus::StopIterationNoBuffer``, the processing can be resumed if
``encodeData()``/``decodeData()`` return ``FilterDataStatus::Continue`` or by explicitly
calling ``continueEncoding()``/``continueDecoding()``.

* Trailers encoding/decoding

* During encoding/decoding of trailers if a filter returns ``FilterTrailersStatus::StopIteration``,
* During encoding/decoding of trailers if a local reply wasn't sent and a filter
returns ``FilterTrailersStatus::StopIteration``,
the processing can be resumed by explicitly calling ``continueEncoding()``/``continueDecoding()``.

Are there well-known headers that will appear in the given headers map of ``decodeHeaders()``?
Expand Down

0 comments on commit c70b3e6

Please sign in to comment.