comparison src/http/ngx_http_core_module.h @ 680:597573166f34 NGINX_1_3_3

nginx 1.3.3 *) Feature: entity tags support and the "etag" directive. *) Bugfix: trailing dot in a source value was not ignored if the "map" directive was used with the "hostnames" parameter. *) Bugfix: incorrect location might be used to process a request if a URI was changed via a "rewrite" directive before an internal redirect to a named location.
author Igor Sysoev <http://sysoev.ru>
date Tue, 10 Jul 2012 00:00:00 +0400
parents 4dcaf40cc702
children 5cb5db9975ba
comparison
equal deleted inserted replaced
679:cad34cec7d3b 680:597573166f34
390 ngx_flag_t log_not_found; /* log_not_found */ 390 ngx_flag_t log_not_found; /* log_not_found */
391 ngx_flag_t log_subrequest; /* log_subrequest */ 391 ngx_flag_t log_subrequest; /* log_subrequest */
392 ngx_flag_t recursive_error_pages; /* recursive_error_pages */ 392 ngx_flag_t recursive_error_pages; /* recursive_error_pages */
393 ngx_flag_t server_tokens; /* server_tokens */ 393 ngx_flag_t server_tokens; /* server_tokens */
394 ngx_flag_t chunked_transfer_encoding; /* chunked_transfer_encoding */ 394 ngx_flag_t chunked_transfer_encoding; /* chunked_transfer_encoding */
395 ngx_flag_t etag; /* etag */
395 396
396 #if (NGX_HTTP_GZIP) 397 #if (NGX_HTTP_GZIP)
397 ngx_flag_t gzip_vary; /* gzip_vary */ 398 ngx_flag_t gzip_vary; /* gzip_vary */
398 399
399 ngx_uint_t gzip_http_version; /* gzip_http_version */ 400 ngx_uint_t gzip_http_version; /* gzip_http_version */
478 479
479 480
480 void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash); 481 void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash);
481 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); 482 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
482 void ngx_http_set_exten(ngx_http_request_t *r); 483 void ngx_http_set_exten(ngx_http_request_t *r);
484 ngx_int_t ngx_http_set_etag(ngx_http_request_t *r);
483 ngx_int_t ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status, 485 ngx_int_t ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status,
484 ngx_str_t *ct, ngx_http_complex_value_t *cv); 486 ngx_str_t *ct, ngx_http_complex_value_t *cv);
485 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name, 487 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name,
486 size_t *root_length, size_t reserved); 488 size_t *root_length, size_t reserved);
487 ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r); 489 ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r);
553 if (r->headers_out.location) { \ 555 if (r->headers_out.location) { \
554 r->headers_out.location->hash = 0; \ 556 r->headers_out.location->hash = 0; \
555 r->headers_out.location = NULL; \ 557 r->headers_out.location = NULL; \
556 } 558 }
557 559
560 #define ngx_http_clear_etag(r) \
561 \
562 if (r->headers_out.etag) { \
563 r->headers_out.etag->hash = 0; \
564 r->headers_out.etag = NULL; \
565 }
566
558 567
559 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */ 568 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */