MINOR: http-client: Trigger an error if first response block isn't a start-line

The first HTX block of a response must be a start-line. There is no reason
to wait for something else. And if there are output data in the response
channel buffer, it means we must found the start-line.
This commit is contained in:
Christopher Faulet 2025-07-22 08:22:06 +02:00
parent c08a0dae30
commit 88aa7a780c

View File

@ -654,13 +654,10 @@ void httpclient_applet_io_handler(struct appctx *appctx)
if (!co_data(res))
goto out;
htx = htxbuf(&res->buf);
if (htx_is_empty(htx))
goto out;
blk = htx_get_head_blk(htx);
if (blk && (htx_get_blk_type(blk) == HTX_BLK_RES_SL))
if (htx_get_first_type(htx) != HTX_BLK_RES_SL)
goto error;
blk = DISGUISE(htx_get_head_blk(htx));
sl = htx_get_blk_ptr(htx, blk);
if (!sl || (!(sl->flags & HTX_SL_F_IS_RESP)))
goto out;
/* Skipp any 1XX interim responses */
if (sl->info.res.status < 200) {