aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2012-07-07 21:22:27 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2012-07-07 21:22:27 +0000
commitc96c4196f3cf616b29ac08f22d96fc3e20f44593 (patch)
tree4d1e8c3460a823334eecb37d9590329ffd93f79f /src
parent9c17e4cb6688af0531686645db2a3193445b782d (diff)
downloadnginx-c96c4196f3cf616b29ac08f22d96fc3e20f44593.tar.gz
nginx-c96c4196f3cf616b29ac08f22d96fc3e20f44593.zip
Entity tags: clear on entity changes.
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/ngx_http_addition_filter_module.c1
-rw-r--r--src/http/modules/ngx_http_gzip_filter_module.c1
-rw-r--r--src/http/modules/ngx_http_ssi_filter_module.c1
-rw-r--r--src/http/modules/ngx_http_sub_filter_module.c1
-rw-r--r--src/http/modules/ngx_http_xslt_filter_module.c1
-rw-r--r--src/http/ngx_http_core_module.h7
-rw-r--r--src/http/ngx_http_special_response.c2
7 files changed, 14 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_addition_filter_module.c b/src/http/modules/ngx_http_addition_filter_module.c
index 24747c564..f598ceab3 100644
--- a/src/http/modules/ngx_http_addition_filter_module.c
+++ b/src/http/modules/ngx_http_addition_filter_module.c
@@ -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);
}
diff --git a/src/http/modules/ngx_http_gzip_filter_module.c b/src/http/modules/ngx_http_gzip_filter_module.c
index 128d3d9c8..09994d9b2 100644
--- a/src/http/modules/ngx_http_gzip_filter_module.c
+++ b/src/http/modules/ngx_http_gzip_filter_module.c
@@ -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);
}
diff --git a/src/http/modules/ngx_http_ssi_filter_module.c b/src/http/modules/ngx_http_ssi_filter_module.c
index 219465ae9..13badac61 100644
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -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);
diff --git a/src/http/modules/ngx_http_sub_filter_module.c b/src/http/modules/ngx_http_sub_filter_module.c
index be5e90c4e..989adf5ad 100644
--- a/src/http/modules/ngx_http_sub_filter_module.c
+++ b/src/http/modules/ngx_http_sub_filter_module.c
@@ -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);
diff --git a/src/http/modules/ngx_http_xslt_filter_module.c b/src/http/modules/ngx_http_xslt_filter_module.c
index 9b0354b2e..94d1c86cc 100644
--- a/src/http/modules/ngx_http_xslt_filter_module.c
+++ b/src/http/modules/ngx_http_xslt_filter_module.c
@@ -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);
diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h
index e95d1e069..2c96167a0 100644
--- a/src/http/ngx_http_core_module.h
+++ b/src/http/ngx_http_core_module.h
@@ -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_ */
diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c
index 77b3dd13f..224cb811d 100644
--- a/src/http/ngx_http_special_response.c
+++ b/src/http/ngx_http_special_response.c
@@ -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);