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.
diff --git a/reg-tests/lua/b00003.vtc b/reg-tests/lua/b00003.vtc
index 3f06b90..a1731b0 100644
--- a/reg-tests/lua/b00003.vtc
+++ b/reg-tests/lua/b00003.vtc
@@ -19,7 +19,7 @@
 
 syslog Slog -level info -repeat 100 {
     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
 
 haproxy h1 -conf {
diff --git a/src/hlua.c b/src/hlua.c
index 79b486d..6efabee 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -4233,6 +4233,7 @@
 	htx = htx_from_buf(&req->buf);
 	count = co_data(req);
 	blk = htx_get_head_blk(htx);
+
 	while (count && !stop && blk) {
 		enum htx_blk_type type = htx_get_blk_type(blk);
 		uint32_t sz = htx_get_blksz(blk);
@@ -7544,6 +7545,8 @@
 	}
 
 	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. */
 		if (ctx->ctx.hlua_apphttp.flags & APPLET_CHUNKED &&