From 9e2cd6282f05b48d018de6dff87efc28a7d8b3fa Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Thu, 15 Feb 2018 19:06:22 +0300 Subject: [PATCH] HTTP/2: precalculate hash for "Cookie". There is no need to calculate hashes of static strings at runtime. The ngx_hash() macro can be used to do it during compilation instead, similarly to how it is done in ngx_http_proxy_module.c for "Server" and "Date" headers. --- src/http/v2/ngx_http_v2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index 44d01107a..7bea204fc 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -3698,7 +3698,8 @@ ngx_http_v2_construct_cookie_header(ngx_http_request_t *r) return NGX_ERROR; } - h->hash = ngx_hash_key(cookie.data, cookie.len); + h->hash = ngx_hash(ngx_hash(ngx_hash(ngx_hash( + ngx_hash('c', 'o'), 'o'), 'k'), 'i'), 'e'); h->key.len = cookie.len; h->key.data = cookie.data;