case HTX_BLK_TLR:
case HTX_BLK_EOT:
+ http_ctx->flags |= APPLET_REQ_RECV;
stop = 1;
break;
break;
}
- if (sz == vlen)
+ if (sz == vlen) {
+ if (blk->flags & HTX_BLK_FL_EOM) {
+ http_ctx->flags |= APPLET_REQ_RECV;
+ stop = 1;
+ }
blk = htx_remove_blk(htx, blk);
+ }
else {
htx_cut_data_blk(htx, blk, vlen);
break;
}
}
- /* The message was fully consumed and no more data are expected
- * (EOM flag set).
- */
- if (htx_is_empty(htx) && (htx->flags & HTX_FL_HAS_EOM)) {
- http_ctx->flags |= APPLET_REQ_RECV;
- stop = 1;
- }
-
htx_to_buf(htx, inbuf);
if (!stop) {
wait:
case HTX_BLK_TLR:
case HTX_BLK_EOT:
+ http_ctx->flags |= APPLET_REQ_RECV;
len = 0;
break;
break;
}
- if (sz == vlen)
+ if (sz == vlen) {
+ if (blk->flags & HTX_BLK_FL_EOM) {
+ http_ctx->flags |= APPLET_REQ_RECV;
+ len = 0;
+ }
blk = htx_remove_blk(htx, blk);
+ }
else {
htx_cut_data_blk(htx, blk, vlen);
break;
}
}
- /* The message was fully consumed and no more data are expected
- * (EOM flag set).
- */
- if (htx_is_empty(htx) && (htx->flags & HTX_FL_HAS_EOM)) {
- http_ctx->flags |= APPLET_REQ_RECV;
- len = 0;
- }
-
htx_to_buf(htx, inbuf);
applet_fl_clr(luactx->appctx, APPCTX_FL_INBLK_FULL);