Mercurial > hg > nginx-vendor-0-5
comparison src/http/ngx_http.h @ 48:6cfc63e68377 NGINX_0_1_24
nginx 0.1.24
*) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING
and DOCUMENT_URI variables.
*) Bugfix: the ngx_http_autoindex_module may some times return the 404
response for existent directory, if this directory was used in
"alias" directive.
*) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large
responses.
*) Bugfix: the lack of the "Referer" header line was always accounted
as valid referrer.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 04 Mar 2005 00:00:00 +0300 |
parents | da8c190bdaba |
children | 72eb30262aac |
comparison
equal
deleted
inserted
replaced
47:4ae32548452c | 48:6cfc63e68377 |
---|---|
27 #include <ngx_http_request.h> | 27 #include <ngx_http_request.h> |
28 #include <ngx_http_config.h> | 28 #include <ngx_http_config.h> |
29 #include <ngx_http_busy_lock.h> | 29 #include <ngx_http_busy_lock.h> |
30 #include <ngx_http_log_handler.h> | 30 #include <ngx_http_log_handler.h> |
31 #include <ngx_http_core_module.h> | 31 #include <ngx_http_core_module.h> |
32 #include <ngx_http_variables.h> | |
32 | 33 |
33 #if (NGX_HTTP_SSL) | 34 #if (NGX_HTTP_SSL) |
34 #include <ngx_http_ssl_module.h> | 35 #include <ngx_http_ssl_module.h> |
35 #endif | 36 #endif |
36 | 37 |
39 ngx_str_t *client; | 40 ngx_str_t *client; |
40 ngx_http_request_t *request; | 41 ngx_http_request_t *request; |
41 }; | 42 }; |
42 | 43 |
43 | 44 |
44 #define ngx_http_get_module_ctx(r, module) r->ctx[module.ctx_index] | 45 #define ngx_http_get_module_ctx(r, module) (r)->ctx[module.ctx_index] |
45 #define ngx_http_get_module_err_ctx(r, module) \ | 46 #define ngx_http_get_module_err_ctx(r, module) \ |
46 (r->err_ctx ? r->err_ctx[module.ctx_index] : r->ctx[module.ctx_index]) | 47 ((r)->err_ctx ? (r)->err_ctx[module.ctx_index] : (r)->ctx[module.ctx_index]) |
47 | 48 |
48 /* STUB */ | 49 /* STUB */ |
49 #define ngx_http_create_ctx(r, cx, module, size, error) \ | 50 #define ngx_http_create_ctx(r, cx, module, size, error) \ |
50 do { \ | 51 do { \ |
51 ngx_test_null(cx, ngx_pcalloc(r->pool, size), error); \ | 52 ngx_test_null(cx, ngx_pcalloc(r->pool, size), error); \ |
52 r->ctx[module.ctx_index] = cx; \ | 53 r->ctx[module.ctx_index] = cx; \ |
53 } while (0) | 54 } while (0) |
54 /**/ | 55 /**/ |
55 | 56 |
56 #define ngx_http_set_ctx(r, c, module) \ | 57 #define ngx_http_set_ctx(r, c, module) r->ctx[module.ctx_index] = c; |
57 r->ctx[module.ctx_index] = c; | |
58 | 58 |
59 #define ngx_http_delete_ctx(r, module) \ | 59 #define ngx_http_delete_ctx(r, module) r->ctx[module.ctx_index] = NULL; |
60 r->ctx[module.ctx_index] = NULL; | |
61 | 60 |
62 | 61 |
63 void ngx_http_init_connection(ngx_connection_t *c); | 62 void ngx_http_init_connection(ngx_connection_t *c); |
64 | 63 |
65 ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b); | 64 ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b); |
77 void ngx_http_close_request(ngx_http_request_t *r, int error); | 76 void ngx_http_close_request(ngx_http_request_t *r, int error); |
78 void ngx_http_close_connection(ngx_connection_t *c); | 77 void ngx_http_close_connection(ngx_connection_t *c); |
79 | 78 |
80 | 79 |
81 ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r, | 80 ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r, |
82 ngx_http_client_body_handler_pt post_handler); | 81 ngx_http_client_body_handler_pt post_handler); |
83 | 82 |
84 ngx_int_t ngx_http_send_header(ngx_http_request_t *r); | 83 ngx_int_t ngx_http_send_header(ngx_http_request_t *r); |
85 ngx_int_t ngx_http_special_response_handler(ngx_http_request_t *r, int error); | 84 ngx_int_t ngx_http_special_response_handler(ngx_http_request_t *r, |
85 ngx_int_t error); | |
86 | 86 |
87 | 87 |
88 time_t ngx_http_parse_time(u_char *value, size_t len); | 88 time_t ngx_http_parse_time(u_char *value, size_t len); |
89 size_t ngx_http_get_time(char *buf, time_t t); | 89 size_t ngx_http_get_time(char *buf, time_t t); |
90 | 90 |