diff --git a/src/h2.c b/src/h2.c index 4803137a9..6ec69c434 100644 --- a/src/h2.c +++ b/src/h2.c @@ -590,6 +590,7 @@ int h2_make_htx_request(struct http_hdr *list, struct htx *htx, unsigned int *ms int phdr; int ret; int i; + uint32_t used = htx_used_space(htx); struct htx_sl *sl = NULL; unsigned int sl_flags = 0; @@ -745,6 +746,9 @@ int h2_make_htx_request(struct http_hdr *list, struct htx *htx, unsigned int *ms /* now send the end of headers marker */ htx_add_endof(htx, HTX_BLK_EOH); + /* Set bytes used in the HTX mesage for the headers now */ + sl->hdrs_bytes = htx_used_space(htx) - used; + ret = 1; return ret; @@ -830,6 +834,7 @@ int h2_make_htx_response(struct http_hdr *list, struct htx *htx, unsigned int *m int phdr; int ret; int i; + uint32_t used = htx_used_space(htx); struct htx_sl *sl = NULL; unsigned int sl_flags = 0; @@ -928,6 +933,9 @@ int h2_make_htx_response(struct http_hdr *list, struct htx *htx, unsigned int *m /* now send the end of headers marker */ htx_add_endof(htx, HTX_BLK_EOH); + /* Set bytes used in the HTX mesage for the headers now */ + sl->hdrs_bytes = htx_used_space(htx) - used; + ret = 1; return ret;