Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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