BUG/MINOR: lua: Return an error if a legacy HTTP applet doesn't send anything
In legacy mode, if an HTTP applet does not send any response, an error 500 is returned.
This commit is contained in:
parent
e461e34d64
commit
cc26b13ea5
|
@ -19,7 +19,7 @@ feature ignore_unknown_macro
|
||||||
|
|
||||||
syslog Slog -level info -repeat 100 {
|
syslog Slog -level info -repeat 100 {
|
||||||
recv info
|
recv info
|
||||||
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Ta=[0-9]* Tc=[0-9]* Td=-1 Th=[0-9]* Ti=[0-9]* Tq=[0-9]* TR=[0-9] Tr=-1 Tt=[0-9]* Tw=[0-9]*"
|
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Ta=[0-9]* Tc=[0-9]* Td=[0-9]* Th=[0-9]* Ti=[0-9]* Tq=[0-9]* TR=[0-9] Tr=[0-9]* Tt=[0-9]* Tw=[0-9]*"
|
||||||
} -start
|
} -start
|
||||||
|
|
||||||
haproxy h1 -conf {
|
haproxy h1 -conf {
|
||||||
|
|
|
@ -4233,6 +4233,7 @@ __LJMP static int hlua_applet_htx_getline_yield(lua_State *L, int status, lua_KC
|
||||||
htx = htx_from_buf(&req->buf);
|
htx = htx_from_buf(&req->buf);
|
||||||
count = co_data(req);
|
count = co_data(req);
|
||||||
blk = htx_get_head_blk(htx);
|
blk = htx_get_head_blk(htx);
|
||||||
|
|
||||||
while (count && !stop && blk) {
|
while (count && !stop && blk) {
|
||||||
enum htx_blk_type type = htx_get_blk_type(blk);
|
enum htx_blk_type type = htx_get_blk_type(blk);
|
||||||
uint32_t sz = htx_get_blksz(blk);
|
uint32_t sz = htx_get_blksz(blk);
|
||||||
|
@ -7544,6 +7545,8 @@ static void hlua_applet_http_fct(struct appctx *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->ctx.hlua_apphttp.flags & APPLET_DONE) {
|
if (ctx->ctx.hlua_apphttp.flags & APPLET_DONE) {
|
||||||
|
if (!(ctx->ctx.hlua_apphttp.flags & APPLET_HDR_SENT))
|
||||||
|
goto error;
|
||||||
|
|
||||||
/* We must send the final chunk. */
|
/* We must send the final chunk. */
|
||||||
if (ctx->ctx.hlua_apphttp.flags & APPLET_CHUNKED &&
|
if (ctx->ctx.hlua_apphttp.flags & APPLET_CHUNKED &&
|
||||||
|
|
Loading…
Reference in New Issue