Entity tags: clear on entity changes.

This commit is contained in:
Maxim Dounin 2012-07-07 21:22:27 +00:00
parent 9c17e4cb66
commit c96c4196f3
7 changed files with 14 additions and 0 deletions

View File

@ -121,6 +121,7 @@ ngx_http_addition_header_filter(ngx_http_request_t *r)
ngx_http_clear_content_length(r);
ngx_http_clear_accept_ranges(r);
ngx_http_clear_etag(r);
return ngx_http_next_header_filter(r);
}

View File

@ -306,6 +306,7 @@ ngx_http_gzip_header_filter(ngx_http_request_t *r)
ngx_http_clear_content_length(r);
ngx_http_clear_accept_ranges(r);
ngx_http_clear_etag(r);
return ngx_http_next_header_filter(r);
}

View File

@ -361,6 +361,7 @@ ngx_http_ssi_header_filter(ngx_http_request_t *r)
ngx_http_clear_content_length(r);
ngx_http_clear_last_modified(r);
ngx_http_clear_accept_ranges(r);
ngx_http_clear_etag(r);
}
return ngx_http_next_header_filter(r);

View File

@ -168,6 +168,7 @@ ngx_http_sub_header_filter(ngx_http_request_t *r)
if (r == r->main) {
ngx_http_clear_content_length(r);
ngx_http_clear_last_modified(r);
ngx_http_clear_etag(r);
}
return ngx_http_next_header_filter(r);

View File

@ -328,6 +328,7 @@ ngx_http_xslt_send(ngx_http_request_t *r, ngx_http_xslt_filter_ctx_t *ctx,
}
ngx_http_clear_last_modified(r);
ngx_http_clear_etag(r);
}
rc = ngx_http_next_header_filter(r);

View File

@ -555,5 +555,12 @@ extern ngx_str_t ngx_http_core_get_method;
r->headers_out.location = NULL; \
}
#define ngx_http_clear_etag(r) \
\
if (r->headers_out.etag) { \
r->headers_out.etag->hash = 0; \
r->headers_out.etag = NULL; \
}
#endif /* _NGX_HTTP_CORE_H_INCLUDED_ */

View File

@ -656,6 +656,7 @@ ngx_http_send_special_response(ngx_http_request_t *r,
ngx_http_clear_accept_ranges(r);
ngx_http_clear_last_modified(r);
ngx_http_clear_etag(r);
rc = ngx_http_send_header(r);
@ -754,6 +755,7 @@ ngx_http_send_refresh(ngx_http_request_t *r)
ngx_http_clear_accept_ranges(r);
ngx_http_clear_last_modified(r);
ngx_http_clear_etag(r);
rc = ngx_http_send_header(r);