comparison src/http/ngx_http_core_module.h @ 126:df17fbafec8f NGINX_0_3_10

nginx 0.3.10 *) Change: the "valid_referers" directive and the "$invalid_referer" variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. *) Feature: the "if" directive supports the "=" and "!=" operations. *) Feature: the "proxy_pass" directive supports the HTTPS protocol. *) Feature: the "proxy_set_body" directive. *) Feature: the "post_action" directive. *) Feature: the ngx_http_empty_gif_module. *) Feature: the "worker_cpu_affinity" directive for Linux. *) Bugfix: the "rewrite" directive did not unescape URI part in redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly.
author Igor Sysoev <http://sysoev.ru>
date Tue, 15 Nov 2005 00:00:00 +0300
parents d25a1d6034f1
children 82d695e3d662
comparison
equal deleted inserted replaced
125:97504de1f89e 126:df17fbafec8f
143 } ngx_http_server_name_t; 143 } ngx_http_server_name_t;
144 144
145 145
146 #define ngx_http_server_names_hash_key(key, name, len, prime) \ 146 #define ngx_http_server_names_hash_key(key, name, len, prime) \
147 { \ 147 { \
148 ngx_uint_t n; \ 148 ngx_uint_t n0; \
149 for (key = 0, n = 0; n < len; n++) { \ 149 for (key = 0, n0 = 0; n0 < len; n0++) { \
150 key += name[n]; \ 150 key += name[n0]; \
151 } \ 151 } \
152 key %= prime; \ 152 key %= prime; \
153 } 153 }
154 154
155 155
200 /* pointer to the modules' loc_conf */ 200 /* pointer to the modules' loc_conf */
201 void **loc_conf ; 201 void **loc_conf ;
202 202
203 ngx_http_handler_pt handler; 203 ngx_http_handler_pt handler;
204 204
205 ngx_str_t root; /* root, alias */
206
207 ngx_array_t *types; 205 ngx_array_t *types;
208 ngx_str_t default_type; 206 ngx_str_t default_type;
207
208 ngx_str_t root; /* root, alias */
209 ngx_str_t post_action;
209 210
210 size_t client_max_body_size; /* client_max_body_size */ 211 size_t client_max_body_size; /* client_max_body_size */
211 size_t client_body_buffer_size; /* client_body_buffer_size */ 212 size_t client_body_buffer_size; /* client_body_buffer_size */
212 size_t send_lowat; /* send_lowat */ 213 size_t send_lowat; /* send_lowat */
213 size_t postpone_output; /* postpone_output */ 214 size_t postpone_output; /* postpone_output */
243 ngx_http_core_loc_conf_t *prev_location; 244 ngx_http_core_loc_conf_t *prev_location;
244 #endif 245 #endif
245 }; 246 };
246 247
247 248
248
249 extern ngx_http_module_t ngx_http_core_module_ctx;
250 extern ngx_module_t ngx_http_core_module;
251
252 extern ngx_uint_t ngx_http_max_module;
253
254
255
256 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r); 249 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r);
257 250
258 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); 251 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
259 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r); 252 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r);
260 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name, 253 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name,
276 269
277 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain); 270 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain);
278 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain); 271 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain);
279 272
280 273
274 extern ngx_http_module_t ngx_http_core_module_ctx;
275 extern ngx_module_t ngx_http_core_module;
276
277 extern ngx_uint_t ngx_http_max_module;
278
279
280 #define ngx_http_clear_content_length(r) \
281 \
282 r->headers_out.content_length_n = -1; \
283 if (r->headers_out.content_length) { \
284 r->headers_out.content_length->hash = 0; \
285 r->headers_out.content_length = NULL; \
286 }
287 \
288 #define ngx_http_clear_accept_ranges(r) \
289 \
290 r->filter_allow_ranges = 0; \
291 if (r->headers_out.accept_ranges) { \
292 r->headers_out.accept_ranges->hash = 0 ; \
293 r->headers_out.accept_ranges = NULL; \
294 }
295
296 #define ngx_http_clear_last_modified(r) \
297 \
298 r->headers_out.last_modified_time = -1; \
299 if (r->headers_out.last_modified) { \
300 r->headers_out.last_modified->hash = 0; \
301 r->headers_out.last_modified = NULL; \
302 }
303
304
281 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */ 305 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */