Composite Filter

    The composite filter is in alpha and is currently under active development. Capabilities will be expanded over time and the configuration structures are likely to change.

    The composite filter allows delegating filter actions to a filter specified by a match result. The purpose of this is to allow different filters or filter configurations to be selected based on the incoming request, allowing for more dynamic configuration that could become prohibitive when making use of per route configurations (e.g. because the cardinality would cause a route table explosion).

    The filter does not do any kind of buffering, and as a result it must be able to instantiate the filter it will delegate to before it receives any callbacks that it needs to delegate. Because of this, in order to delegate all the data to the specified filter, the decision must be made based on just the request headers.

    Delegation can fail if the filter factory attempted to use a callback not supported by the composite filter. In either case, the stat will be incremented.

    Statistics

    The composite filter outputs statistics in the <stat_prefix>.composite.* namespace.