diff --git a/src/filters.c b/src/filters.c index a5fc36760..026d1c93a 100644 --- a/src/filters.c +++ b/src/filters.c @@ -473,6 +473,8 @@ flt_stream_start(struct stream *s) if (FLT_OPS(filter)->stream_start && FLT_OPS(filter)->stream_start(s, filter) < 0) return -1; } + if (strm_li(s) && (strm_li(s)->analysers & AN_REQ_FLT_START_FE)) + s->req.flags |= CF_FLT_ANALYZE; return 0; } @@ -531,6 +533,10 @@ flt_set_stream_backend(struct stream *s, struct proxy *be) FLT_OPS(filter)->stream_set_backend(s, filter, be) < 0) return -1; } + if (be->be_req_ana & AN_REQ_FLT_START_BE) + s->req.flags |= CF_FLT_ANALYZE; + if ((strm_fe(s)->fe_rsp_ana | be->be_rsp_ana) & (AN_RES_FLT_START_FE|AN_RES_FLT_START_BE)) + s->res.flags |= CF_FLT_ANALYZE; return 0; }