annotate src/http/modules/ngx_http_not_modified_filter_module.c @ 4437:3a1507f48686 stable-1.0

Merge of r4372, r4373, r4374: SCGI fixes: *) Fixed incorrect use of r->http_version in scgi module. The r->http_version is a version of client's request, and modules must not set it unless they are really willing to downgrade protocol version used for a response (i.e. to HTTP/0.9 if no response headers are available). In neither case r->http_version may be upgraded. The former code downgraded response from HTTP/1.1 to HTTP/1.0 for no reason, causing various problems (see ticket #66). It was also possible that HTTP/0.9 requests were upgraded to HTTP/1.0. *) Removed duplicate function declaration. *) Removed error if there is no Status header. The SCGI specification doesn't specify format of the response, and assuming CGI specs should be used there is no reason to complain. RFC 3875 explicitly states that "A Status header field is optional, and status 200 'OK' is assumed if it is omitted".
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 05 Feb 2012 13:53:50 +0000
parents 80cc7c8bb845
children d620f497c50f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
4 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
5
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 #include <ngx_config.h>
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #include <ngx_core.h>
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #include <ngx_http.h>
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
3814
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
12 static ngx_int_t ngx_http_test_precondition(ngx_http_request_t *r);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
13 static ngx_int_t ngx_http_test_not_modified(ngx_http_request_t *r);
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
14 static ngx_int_t ngx_http_not_modified_filter_init(ngx_conf_t *cf);
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17 static ngx_http_module_t ngx_http_not_modified_filter_module_ctx = {
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
18 NULL, /* preconfiguration */
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
19 ngx_http_not_modified_filter_init, /* postconfiguration */
177
4db54fdbcbe7 nginx-0.0.1-2003-11-10-20:17:31 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
20
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 NULL, /* create main configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 NULL, /* init main configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 NULL, /* create server configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25 NULL, /* merge server configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27 NULL, /* create location configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28 NULL /* merge location configuration */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
29 };
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
30
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 ngx_module_t ngx_http_not_modified_filter_module = {
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
33 NGX_MODULE_V1,
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34 &ngx_http_not_modified_filter_module_ctx, /* module context */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35 NULL, /* module directives */
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36 NGX_HTTP_MODULE, /* module type */
541
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
37 NULL, /* init master */
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
38 NULL, /* init module */
541
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
39 NULL, /* init process */
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
40 NULL, /* init thread */
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
41 NULL, /* exit thread */
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
42 NULL, /* exit process */
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
43 NULL, /* exit master */
b09ee85d0ac8 nginx-0.1.45-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
44 NGX_MODULE_V1_PADDING
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45 };
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
46
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 153
diff changeset
48 static ngx_http_output_header_filter_pt ngx_http_next_header_filter;
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
49
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
50
2702
eace65d6092b style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
51 static ngx_int_t
eace65d6092b style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
52 ngx_http_not_modified_header_filter(ngx_http_request_t *r)
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
53 {
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
54 if (r->headers_out.status != NGX_HTTP_OK
597
9262f520ce21 nginx-0.3.20-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
55 || r != r->main
142
cb77c084acdb nginx-0.0.1-2003-10-09-11:00:45 import
Igor Sysoev <igor@sysoev.ru>
parents: 136
diff changeset
56 || r->headers_out.last_modified_time == -1)
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
57 {
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 153
diff changeset
58 return ngx_http_next_header_filter(r);
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59 }
3854
80cc7c8bb845 style fix: remove trailing spaces
Igor Sysoev <igor@sysoev.ru>
parents: 3814
diff changeset
60
3814
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
61 if (r->headers_in.if_unmodified_since) {
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
62 return ngx_http_test_precondition(r);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
63 }
3854
80cc7c8bb845 style fix: remove trailing spaces
Igor Sysoev <igor@sysoev.ru>
parents: 3814
diff changeset
64
3814
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
65 if (r->headers_in.if_modified_since) {
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
66 return ngx_http_test_not_modified(r);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
67 }
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
68
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
69 return ngx_http_next_header_filter(r);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
70 }
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
71
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
72
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
73 static ngx_int_t
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
74 ngx_http_test_precondition(ngx_http_request_t *r)
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
75 {
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
76 time_t iums;
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
77
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
78 iums = ngx_http_parse_time(r->headers_in.if_unmodified_since->value.data,
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
79 r->headers_in.if_unmodified_since->value.len);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
80
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
81 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
82 "http iums:%d lm:%d", iums, r->headers_out.last_modified_time);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
83
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
84 if (iums >= r->headers_out.last_modified_time) {
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
85 return ngx_http_next_header_filter(r);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
86 }
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
87
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
88 return ngx_http_filter_finalize_request(r, NULL,
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
89 NGX_HTTP_PRECONDITION_FAILED);
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
90 }
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
91
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
92
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
93 static ngx_int_t
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
94 ngx_http_test_not_modified(ngx_http_request_t *r)
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
95 {
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
96 time_t ims;
e6e453203bae "If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents: 3308
diff changeset
97 ngx_http_core_loc_conf_t *clcf;
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
98
2496
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
99 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
100
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
101 if (clcf->if_modified_since == NGX_HTTP_IMS_OFF) {
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
102 return ngx_http_next_header_filter(r);
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
103 }
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
104
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
105 ims = ngx_http_parse_time(r->headers_in.if_modified_since->value.data,
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
106 r->headers_in.if_modified_since->value.len);
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 553
diff changeset
107
257
70e1c7d2b83d nginx-0.0.2-2004-02-11-20:08:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
108 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
70e1c7d2b83d nginx-0.0.2-2004-02-11-20:08:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
109 "http ims:%d lm:%d", ims, r->headers_out.last_modified_time);
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
110
2361
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
111 if (ims != r->headers_out.last_modified_time) {
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
112
2496
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
113 if (clcf->if_modified_since == NGX_HTTP_IMS_EXACT
2361
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
114 || ims < r->headers_out.last_modified_time)
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
115 {
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
116 return ngx_http_next_header_filter(r);
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
117 }
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
118 }
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
119
2361
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
120 r->headers_out.status = NGX_HTTP_NOT_MODIFIED;
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
121 r->headers_out.status_line.len = 0;
2361
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
122 r->headers_out.content_type.len = 0;
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
123 ngx_http_clear_content_length(r);
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
124 ngx_http_clear_accept_ranges(r);
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 1631
diff changeset
125
3308
793ae4dd91e9 remove "Content-Encoding: gzip" in 304 response
Igor Sysoev <igor@sysoev.ru>
parents: 2702
diff changeset
126 if (r->headers_out.content_encoding) {
793ae4dd91e9 remove "Content-Encoding: gzip" in 304 response
Igor Sysoev <igor@sysoev.ru>
parents: 2702
diff changeset
127 r->headers_out.content_encoding->hash = 0;
793ae4dd91e9 remove "Content-Encoding: gzip" in 304 response
Igor Sysoev <igor@sysoev.ru>
parents: 2702
diff changeset
128 r->headers_out.content_encoding = NULL;
793ae4dd91e9 remove "Content-Encoding: gzip" in 304 response
Igor Sysoev <igor@sysoev.ru>
parents: 2702
diff changeset
129 }
793ae4dd91e9 remove "Content-Encoding: gzip" in 304 response
Igor Sysoev <igor@sysoev.ru>
parents: 2702
diff changeset
130
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 153
diff changeset
131 return ngx_http_next_header_filter(r);
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
132 }
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
133
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
134
2702
eace65d6092b style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
135 static ngx_int_t
eace65d6092b style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
136 ngx_http_not_modified_filter_init(ngx_conf_t *cf)
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
137 {
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 153
diff changeset
138 ngx_http_next_header_filter = ngx_http_top_header_filter;
135
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
139 ngx_http_top_header_filter = ngx_http_not_modified_header_filter;
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
140
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
141 return NGX_OK;
e29909bd9b8a nginx-0.0.1-2003-09-28-23:29:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
142 }