In a few cases, we'd just check if the backend is configured to do retries,
and not if it's still allowed on the stream_interface.
The SI_FL_L7_RETRY flag could have been removed because we failed to allocate
a buffer, or because the request was too big to fit in a single buffer,
so make sure it's there before attempting a retry.
*/
if (conn->err_code == CO_ER_SSL_EARLY_FAILED) {
if ((s->be->retry_type & PR_RE_EARLY_ERROR) &&
+ (si_b->flags & SI_FL_L7_RETRY) &&
do_l7_retry(s, si_b) == 0)
return 0;
txn->status = 425;
health_adjust(__objt_server(s->target), HANA_STATUS_HTTP_HDRRSP);
}
if ((s->be->retry_type & PR_RE_JUNK_REQUEST) &&
+ (si_b->flags & SI_FL_L7_RETRY) &&
do_l7_retry(s, si_b) == 0)
return 0;
txn->status = 502;