comparison src/http/ngx_http_upstream.h @ 8024:ef6a3a99a81a

Reworked multi headers to use linked lists. Multi headers are now using linked lists instead of arrays. Notably, the following fields were changed: r->headers_in.cookies (renamed to r->headers_in.cookie), r->headers_in.x_forwarded_for, r->headers_out.cache_control, r->headers_out.link, u->headers_in.cache_control u->headers_in.cookies (renamed to u->headers_in.set_cookie). The r->headers_in.cookies and u->headers_in.cookies fields were renamed to r->headers_in.cookie and u->headers_in.set_cookie to match header names. The ngx_http_parse_multi_header_lines() and ngx_http_parse_set_cookie_lines() functions were changed accordingly. With this change, multi headers are now essentially equivalent to normal headers, and following changes will further make them equivalent.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 30 May 2022 21:25:33 +0300
parents 3ab8e1e2f0f7
children e0027c8438b0
comparison
equal deleted inserted replaced
8023:08b3ea81ff5f 8024:ef6a3a99a81a
287 287
288 #if (NGX_HTTP_GZIP) 288 #if (NGX_HTTP_GZIP)
289 ngx_table_elt_t *content_encoding; 289 ngx_table_elt_t *content_encoding;
290 #endif 290 #endif
291 291
292 ngx_array_t cache_control; 292 ngx_table_elt_t *cache_control;
293 ngx_array_t cookies; 293 ngx_table_elt_t *set_cookie;
294 294
295 off_t content_length_n; 295 off_t content_length_n;
296 time_t last_modified_time; 296 time_t last_modified_time;
297 297
298 unsigned connection_close:1; 298 unsigned connection_close:1;