HTTP/3: encode frame ids with ngx_http_v3_encode_varlen_int().

Even though typically frame ids fit into a single byte, calling
ngx_http_v3_encode_varlen_int() adds to the code clarity.
This commit is contained in:
Roman Arutyunyan 2020-07-13 12:33:00 +03:00
parent fc5a7234b4
commit 6d7ddb5471

View File

@ -774,14 +774,16 @@ ngx_http_v3_create_header(ngx_http_request_t *r)
n = b->last - b->pos; n = b->last - b->pos;
len = 1 + ngx_http_v3_encode_varlen_int(NULL, n); len = ngx_http_v3_encode_varlen_int(NULL, NGX_HTTP_V3_FRAME_HEADERS)
+ ngx_http_v3_encode_varlen_int(NULL, n);
b = ngx_create_temp_buf(c->pool, len); b = ngx_create_temp_buf(c->pool, len);
if (b == NULL) { if (b == NULL) {
return NULL; return NULL;
} }
*b->last++ = NGX_HTTP_V3_FRAME_HEADERS; b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last,
NGX_HTTP_V3_FRAME_HEADERS);
b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last, n); b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last, n);
hl = ngx_alloc_chain_link(c->pool); hl = ngx_alloc_chain_link(c->pool);
@ -793,7 +795,8 @@ ngx_http_v3_create_header(ngx_http_request_t *r)
hl->next = cl; hl->next = cl;
if (r->headers_out.content_length_n >= 0 && !r->header_only) { if (r->headers_out.content_length_n >= 0 && !r->header_only) {
len = 1 + ngx_http_v3_encode_varlen_int(NULL, len = ngx_http_v3_encode_varlen_int(NULL, NGX_HTTP_V3_FRAME_DATA)
+ ngx_http_v3_encode_varlen_int(NULL,
r->headers_out.content_length_n); r->headers_out.content_length_n);
b = ngx_create_temp_buf(c->pool, len); b = ngx_create_temp_buf(c->pool, len);
@ -801,7 +804,8 @@ ngx_http_v3_create_header(ngx_http_request_t *r)
return NULL; return NULL;
} }
*b->last++ = NGX_HTTP_V3_FRAME_DATA; b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last,
NGX_HTTP_V3_FRAME_DATA);
b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last, b->last = (u_char *) ngx_http_v3_encode_varlen_int(b->last,
r->headers_out.content_length_n); r->headers_out.content_length_n);