filters: improve docs & protections around callbacks
#13.737 aberto em 23 de out. de 2020
Métricas do repositório
- Stars
- (27.997 stars)
- Métricas de merge de PR
- (Mesclagem média 8d) (378 fundiu PRs em 30d)
Description
We recently ran into an internal problem where an in-house filter was returning a local reply and immediately after returning FilterHeaderStatus::Continue, which ends up confusing the Router filter machinery.
A few things can be done to improve the experience for filter developers:
-
improve docs around the contract with filters (e.g.: #13678, I'll send another one for docs/root/faq/extensions/contract.rst as well)
-
enforce more checks to ensure callbacks cannot be called after a local reply has been sent
-
more assertions around the filter chain state machine
cc: @alyssawilk @mattklein123