diff --git a/src/proto_http.c b/src/proto_http.c index 25e0e3efd..245fa9832 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -3050,7 +3050,8 @@ int http_process_request(struct stream *s, struct channel *req, int an_bit) * that parameter. This will be done in another analyser. */ if (!(s->flags & (SF_ASSIGNED|SF_DIRECT)) && - s->txn->meth == HTTP_METH_POST && s->be->url_param_name != NULL && + s->txn->meth == HTTP_METH_POST && + (s->be->lbprm.algo & BE_LB_ALGO) == BE_LB_ALGO_PH && (msg->flags & (HTTP_MSGF_CNT_LEN|HTTP_MSGF_TE_CHNK))) { channel_dont_connect(req); req->analysers |= AN_REQ_HTTP_BODY; diff --git a/src/proto_htx.c b/src/proto_htx.c index a9752cbfa..236bfd04d 100644 --- a/src/proto_htx.c +++ b/src/proto_htx.c @@ -938,7 +938,8 @@ int htx_process_request(struct stream *s, struct channel *req, int an_bit) * that parameter. This will be done in another analyser. */ if (!(s->flags & (SF_ASSIGNED|SF_DIRECT)) && - s->txn->meth == HTTP_METH_POST && s->be->url_param_name != NULL) { + s->txn->meth == HTTP_METH_POST && + (s->be->lbprm.algo & BE_LB_ALGO) == BE_LB_ALGO_PH) { channel_dont_connect(req); req->analysers |= AN_REQ_HTTP_BODY; }