summaryrefslogtreecommitdiff
path: root/modules/http2/h2_headers.c
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2018-04-09 09:39:08 +0000
committerStefan Eissing <icing@apache.org>2018-04-09 09:39:08 +0000
commit03e3ef23a830d116b076d1c886a0d915a9552643 (patch)
tree4159aa63ff1e9370ec126b49eae7bb06ab83bb62 /modules/http2/h2_headers.c
parent4f11950dc9d024217314a3a9b9a5d897a292426f (diff)
downloadhttpd-03e3ef23a830d116b076d1c886a0d915a9552643.tar.gz
On the trunk:
mod_http2: accurate reporting of h2 data input/output per request via mod_logio. Fixes an issue where output sizes where counted n-times on reused slave connections. See gituhub issue: https://github.com/icing/mod_h2/issues/158 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828687 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http2/h2_headers.c')
-rw-r--r--modules/http2/h2_headers.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/http2/h2_headers.c b/modules/http2/h2_headers.c
index 94cb214aa3..f01ab88aab 100644
--- a/modules/http2/h2_headers.c
+++ b/modules/http2/h2_headers.c
@@ -111,7 +111,8 @@ apr_bucket *h2_bucket_headers_beam(struct h2_bucket_beam *beam,
h2_headers *h2_headers_create(int status, apr_table_t *headers_in,
- apr_table_t *notes, apr_pool_t *pool)
+ apr_table_t *notes, apr_off_t raw_bytes,
+ apr_pool_t *pool)
{
h2_headers *headers = apr_pcalloc(pool, sizeof(h2_headers));
headers->status = status;
@@ -125,7 +126,7 @@ h2_headers *h2_headers_create(int status, apr_table_t *headers_in,
h2_headers *h2_headers_rcreate(request_rec *r, int status,
apr_table_t *header, apr_pool_t *pool)
{
- h2_headers *headers = h2_headers_create(status, header, r->notes, pool);
+ h2_headers *headers = h2_headers_create(status, header, r->notes, 0, pool);
if (headers->status == HTTP_FORBIDDEN) {
const char *cause = apr_table_get(r->notes, "ssl-renegotiate-forbidden");
if (cause) {
@@ -149,7 +150,7 @@ h2_headers *h2_headers_rcreate(request_rec *r, int status,
h2_headers *h2_headers_copy(apr_pool_t *pool, h2_headers *h)
{
return h2_headers_create(h->status, apr_table_copy(pool, h->headers),
- apr_table_copy(pool, h->notes), pool);
+ apr_table_copy(pool, h->notes), h->raw_bytes, pool);
}
h2_headers *h2_headers_die(apr_status_t type,