Is there a contract my HTTP filter must adhere to?

      • 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().

      • A filter’s encode100ContinueHeaders() must return FilterHeadersStatus::Continue or FilterHeadersStatus::StopIteration.

    • Data encoding/decoding

      • 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()?

    The first filter of the decoding filter chain will have the following headers in the map:

    Although these headers may be omitted by one of the filters on the decoding filter chain, they should be reinserted before the terminal filter is triggered.