return_prx_cond:
http_reply_and_close(s, txn->status, http_error_message(s));
-
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_R;
+ http_set_term_flags(s);
DBG_TRACE_DEVEL("leaving on error",
STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA|STRM_EV_HTTP_ERR, s, txn);
if (!(s->flags & SF_ERR_MASK)) // this is not really an error but it is
s->flags |= SF_ERR_LOCAL; // to mark that it comes from the proxy
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_R;
+ http_set_term_flags(s);
if (HAS_FILTERS(s))
req->analysers |= AN_REQ_FLT_HTTP_HDRS;
/* fall through */
return_prx_cond:
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_R;
+ http_set_term_flags(s);
req->analysers &= AN_REQ_FLT_END;
req->analyse_exp = TICK_ETERNITY;
_HA_ATOMIC_INC(&sess->listener->counters->internal_errors);
http_reply_and_close(s, txn->status, http_error_message(s));
-
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_R;
+ http_set_term_flags(s);
DBG_TRACE_DEVEL("leaving on error",
STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA|STRM_EV_HTTP_ERR, s, txn);
s->logs.t_queue = tv_ms_elapsed(&s->logs.tv_accept, &now);
http_reply_and_close(s, txn->status, (!(req->flags & CF_READ_ERROR) ? http_error_message(s) : NULL));
-
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_T;
+ http_set_term_flags(s);
DBG_TRACE_LEAVE(STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA, s, txn);
return 0;
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_SRVCL;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
DBG_TRACE_DEVEL("leaving on error",
STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA|STRM_EV_HTTP_ERR, s, txn);
return 0;
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_SRVTO;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
DBG_TRACE_DEVEL("leaving on error",
STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA|STRM_EV_HTTP_ERR, s, txn);
return 0;
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_CLICL;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
/* process_stream() will take care of the error */
DBG_TRACE_DEVEL("leaving on error",
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_SRVCL;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
DBG_TRACE_DEVEL("leaving on error",
STRM_EV_STRM_ANA|STRM_EV_HTTP_ANA|STRM_EV_HTTP_ERR, s, txn);
return 0;
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_CLICL;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
/* process_stream() will take care of the error */
DBG_TRACE_DEVEL("leaving on error",
return_prx_cond:
http_reply_and_close(s, txn->status, http_error_message(s));
-
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
s->scb->flags |= SC_FL_NOLINGER;
DBG_TRACE_DEVEL("leaving on error",
s->logs.t_data = -1; /* was not a valid response */
s->scb->flags |= SC_FL_NOLINGER;
- if (!(s->flags & SF_ERR_MASK))
- s->flags |= SF_ERR_PRXCOND;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= SF_FINST_H;
+ http_set_term_flags(s);
rep->analysers &= AN_RES_FLT_END;
s->req.analysers &= AN_REQ_FLT_END;
if (!(s->flags & SF_ERR_MASK))
s->flags |= SF_ERR_LOCAL;
- if (!(s->flags & SF_FINST_MASK))
- s->flags |= ((rule->flags & REDIRECT_FLAG_FROM_REQ) ? SF_FINST_R : SF_FINST_H);
+ http_set_term_flags(s);
out:
free_trash_chunk(chunk);