annotate src/http/ngx_http.h @ 6075:7fcfe113827d stable-1.6

Fixed possible buffer overrun in "too long header line" logging. Additionally, ellipsis now always added to make it clear that the header logged is incomplete. Reported by Daniil Bondarev.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 08 Oct 2014 17:16:04 +0400
parents 9d83ec073c51
children 3a48775f1535
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: 432
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: 432
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
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4125
diff changeset
4 * Copyright (C) Nginx, Inc.
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: 432
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 432
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 432
diff changeset
7
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_HTTP_H_INCLUDED_
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_HTTP_H_INCLUDED_
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #include <ngx_config.h>
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
13 #include <ngx_core.h>
190
02a715e85df1 nginx-0.0.1-2003-11-19-00:34:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 178
diff changeset
14
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
15
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
16 typedef struct ngx_http_request_s ngx_http_request_t;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
17 typedef struct ngx_http_upstream_s ngx_http_upstream_t;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
18 typedef struct ngx_http_cache_s ngx_http_cache_t;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
19 typedef struct ngx_http_file_cache_s ngx_http_file_cache_t;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
20 typedef struct ngx_http_log_ctx_s ngx_http_log_ctx_t;
4925
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
21 typedef struct ngx_http_chunked_s ngx_http_chunked_t;
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
22
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
23 #if (NGX_HTTP_SPDY)
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
24 typedef struct ngx_http_spdy_stream_s ngx_http_spdy_stream_t;
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
25 #endif
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
26
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
27 typedef ngx_int_t (*ngx_http_header_handler_pt)(ngx_http_request_t *r,
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
28 ngx_table_elt_t *h, ngx_uint_t offset);
665
5fd7a5e99047 nginx-0.3.54-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
29 typedef u_char *(*ngx_http_log_handler_pt)(ngx_http_request_t *r,
5fd7a5e99047 nginx-0.3.54-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
30 ngx_http_request_t *sr, u_char *buf, size_t len);
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 499
diff changeset
31
197
0b81c7a0b133 nginx-0.0.1-2003-11-27-10:45:22 import
Igor Sysoev <igor@sysoev.ru>
parents: 191
diff changeset
32
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
33 #include <ngx_http_variables.h>
5089
903f2a5d86a5 SNI: reuse selected configuration for all requests in a connection.
Valentin Bartenev <vbart@nginx.com>
parents: 5008
diff changeset
34 #include <ngx_http_config.h>
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
35 #include <ngx_http_request.h>
5008
fd84344f1df7 Fixed and improved the "*_bind" directives of proxying modules.
Ruslan Ermilov <ru@nginx.com>
parents: 4925
diff changeset
36 #include <ngx_http_script.h>
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
37 #include <ngx_http_upstream.h>
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 880
diff changeset
38 #include <ngx_http_upstream_round_robin.h>
174
ea464a6c0581 nginx-0.0.1-2003-11-05-01:12:39 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
39 #include <ngx_http_busy_lock.h>
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
40 #include <ngx_http_core_module.h>
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
42 #if (NGX_HTTP_SPDY)
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
43 #include <ngx_http_spdy.h>
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
44 #endif
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
45 #if (NGX_HTTP_CACHE)
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
46 #include <ngx_http_cache.h>
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
47 #endif
597
9262f520ce21 nginx-0.3.20-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
48 #if (NGX_HTTP_SSI)
9262f520ce21 nginx-0.3.20-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
49 #include <ngx_http_ssi_filter_module.h>
9262f520ce21 nginx-0.3.20-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
50 #endif
395
f8f0f1834266 nginx-0.0.7-2004-07-16-21:11:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 392
diff changeset
51 #if (NGX_HTTP_SSL)
f8f0f1834266 nginx-0.0.7-2004-07-16-21:11:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 392
diff changeset
52 #include <ngx_http_ssl_module.h>
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
53 #endif
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
54
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 24
diff changeset
55
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
56 struct ngx_http_log_ctx_s {
1810
755e09d5c271 log server address
Igor Sysoev <igor@sysoev.ru>
parents: 1666
diff changeset
57 ngx_connection_t *connection;
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
58 ngx_http_request_t *request;
665
5fd7a5e99047 nginx-0.3.54-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 597
diff changeset
59 ngx_http_request_t *current_request;
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
60 };
6
669801705ab1 nginx-0.0.1-2002-08-26-19:18:19 import
Igor Sysoev <igor@sysoev.ru>
parents: 4
diff changeset
61
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
62
4925
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
63 struct ngx_http_chunked_s {
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
64 ngx_uint_t state;
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
65 off_t size;
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
66 off_t length;
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
67 };
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
68
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
69
3626
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
70 typedef struct {
4125
e5df04b05e75 Protocol version parsing in ngx_http_parse_status_line().
Maxim Dounin <mdounin@mdounin.ru>
parents: 3772
diff changeset
71 ngx_uint_t http_version;
3626
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
72 ngx_uint_t code;
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
73 ngx_uint_t count;
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
74 u_char *start;
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
75 u_char *end;
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
76 } ngx_http_status_t;
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
77
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
78
675
e924670896ab nginx-0.3.59-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 667
diff changeset
79 #define ngx_http_get_module_ctx(r, module) (r)->ctx[module.ctx_index]
e924670896ab nginx-0.3.59-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 667
diff changeset
80 #define ngx_http_set_ctx(r, c, module) r->ctx[module.ctx_index] = c;
9
6f58641241bb nginx-0.0.1-2002-09-07-14:14:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
81
6f58641241bb nginx-0.0.1-2002-09-07-14:14:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
82
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2023
diff changeset
83 ngx_int_t ngx_http_add_location(ngx_conf_t *cf, ngx_queue_t **locations,
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2023
diff changeset
84 ngx_http_core_loc_conf_t *clcf);
3217
a22bf524a456 refactor http listen code:
Igor Sysoev <igor@sysoev.ru>
parents: 3214
diff changeset
85 ngx_int_t ngx_http_add_listen(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
3220
cdcd9e29c589 *) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents: 3217
diff changeset
86 ngx_http_listen_opt_t *lsopt);
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2023
diff changeset
87
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2023
diff changeset
88
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 83
diff changeset
89 void ngx_http_init_connection(ngx_connection_t *c);
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
90 void ngx_http_close_connection(ngx_connection_t *c);
200
abeaebe0a33c nginx-0.0.1-2003-11-28-20:41:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 197
diff changeset
91
5200
9d83ec073c51 Fixed build with --with-mail_ssl_module.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5121
diff changeset
92 #if (NGX_HTTP_SSL && defined SSL_CTRL_SET_TLSEXT_HOSTNAME)
1219
86c5c9288acc SNI support
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
93 int ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg);
86c5c9288acc SNI support
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
94 #endif
86c5c9288acc SNI support
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
95
432
11362a3e3911 nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents: 416
diff changeset
96 ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b);
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
97 ngx_int_t ngx_http_parse_uri(ngx_http_request_t *r);
1585
4435ca2e467d merge_slashes
Igor Sysoev <igor@sysoev.ru>
parents: 1370
diff changeset
98 ngx_int_t ngx_http_parse_complex_uri(ngx_http_request_t *r,
4435ca2e467d merge_slashes
Igor Sysoev <igor@sysoev.ru>
parents: 1370
diff changeset
99 ngx_uint_t merge_slashes);
3626
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
100 ngx_int_t ngx_http_parse_status_line(ngx_http_request_t *r, ngx_buf_t *b,
e4cabc48b862 ngx_http_parse_status_line()
Igor Sysoev <igor@sysoev.ru>
parents: 3392
diff changeset
101 ngx_http_status_t *status);
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 535
diff changeset
102 ngx_int_t ngx_http_parse_unsafe_uri(ngx_http_request_t *r, ngx_str_t *uri,
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 535
diff changeset
103 ngx_str_t *args, ngx_uint_t *flags);
2256
8c17cfe63d2c underscores_in_headers
Igor Sysoev <igor@sysoev.ru>
parents: 2175
diff changeset
104 ngx_int_t ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
8c17cfe63d2c underscores_in_headers
Igor Sysoev <igor@sysoev.ru>
parents: 2175
diff changeset
105 ngx_uint_t allow_underscores);
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
106 ngx_int_t ngx_http_parse_multi_header_lines(ngx_array_t *headers,
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
107 ngx_str_t *name, ngx_str_t *value);
2415
d311b7f6a403 ngx_http_arg()
Igor Sysoev <igor@sysoev.ru>
parents: 2377
diff changeset
108 ngx_int_t ngx_http_arg(ngx_http_request_t *r, u_char *name, size_t len,
d311b7f6a403 ngx_http_arg()
Igor Sysoev <igor@sysoev.ru>
parents: 2377
diff changeset
109 ngx_str_t *value);
2578
c7bdd722532f ngx_http_split_args()
Igor Sysoev <igor@sysoev.ru>
parents: 2415
diff changeset
110 void ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri,
c7bdd722532f ngx_http_split_args()
Igor Sysoev <igor@sysoev.ru>
parents: 2415
diff changeset
111 ngx_str_t *args);
4925
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
112 ngx_int_t ngx_http_parse_chunked(ngx_http_request_t *r, ngx_buf_t *b,
32030fa8cb14 Request body: chunked parsing moved to ngx_http_parse.c from proxy.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
113 ngx_http_chunked_t *ctx);
2415
d311b7f6a403 ngx_http_arg()
Igor Sysoev <igor@sysoev.ru>
parents: 2377
diff changeset
114
200
abeaebe0a33c nginx-0.0.1-2003-11-28-20:41:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 197
diff changeset
115
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
116 ngx_http_request_t *ngx_http_create_request(ngx_connection_t *c);
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
117 ngx_int_t ngx_http_process_request_uri(ngx_http_request_t *r);
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
118 ngx_int_t ngx_http_process_request_header(ngx_http_request_t *r);
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
119 void ngx_http_process_request(ngx_http_request_t *r);
535
563ad09abf50 nginx-0.1.42-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 531
diff changeset
120 void ngx_http_update_location_config(ngx_http_request_t *r);
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 87
diff changeset
121 void ngx_http_handler(ngx_http_request_t *r);
2377
87b8c44906b5 *) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents: 2294
diff changeset
122 void ngx_http_run_posted_requests(ngx_connection_t *c);
3064
23e6f26fb4bd *) ngx_http_ephemeral
Igor Sysoev <igor@sysoev.ru>
parents: 2821
diff changeset
123 ngx_int_t ngx_http_post_request(ngx_http_request_t *r,
23e6f26fb4bd *) ngx_http_ephemeral
Igor Sysoev <igor@sysoev.ru>
parents: 2821
diff changeset
124 ngx_http_posted_request_t *pr);
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
125 void ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc);
5121
c0f7b94e88ba Preliminary experimental support for SPDY draft 2.
Valentin Bartenev <vbart@nginx.com>
parents: 5108
diff changeset
126 void ngx_http_free_request(ngx_http_request_t *r, ngx_int_t rc);
87
5f6d848dcbef nginx-0.0.1-2003-05-13-20:02:32 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
127
191
71ce40b3c37b nginx-0.0.1-2003-11-19-19:26:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 190
diff changeset
128 void ngx_http_empty_handler(ngx_event_t *wev);
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
129 void ngx_http_request_empty_handler(ngx_http_request_t *r);
87
5f6d848dcbef nginx-0.0.1-2003-05-13-20:02:32 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
130
2377
87b8c44906b5 *) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents: 2294
diff changeset
131
3392
d2a4c6aa9b9a fix building by gcc 4.x with -O2/3/s in some Linux distributions:
Igor Sysoev <igor@sysoev.ru>
parents: 3372
diff changeset
132 #define ngx_http_ephemeral(r) (void *) (&r->uri_start)
3064
23e6f26fb4bd *) ngx_http_ephemeral
Igor Sysoev <igor@sysoev.ru>
parents: 2821
diff changeset
133
23e6f26fb4bd *) ngx_http_ephemeral
Igor Sysoev <igor@sysoev.ru>
parents: 2821
diff changeset
134
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
135 #define NGX_HTTP_LAST 1
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
136 #define NGX_HTTP_FLUSH 2
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
137
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
138 ngx_int_t ngx_http_send_special(ngx_http_request_t *r, ngx_uint_t flags);
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
139
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 58
diff changeset
140
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
141 ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r,
499
64d9afb209da nginx-0.1.24-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 483
diff changeset
142 ngx_http_client_body_handler_pt post_handler);
83
a7e45c45a95c nginx-0.0.1-2003-04-28-19:06:39 import
Igor Sysoev <igor@sysoev.ru>
parents: 82
diff changeset
143
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
144 ngx_int_t ngx_http_send_header(ngx_http_request_t *r);
499
64d9afb209da nginx-0.1.24-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 483
diff changeset
145 ngx_int_t ngx_http_special_response_handler(ngx_http_request_t *r,
64d9afb209da nginx-0.1.24-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 483
diff changeset
146 ngx_int_t error);
2787
3daf68f2efe3 ngx_http_filter_finalize_request() and ngx_http_clean_header()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
147 ngx_int_t ngx_http_filter_finalize_request(ngx_http_request_t *r,
2821
26e06e009ced allow to pass image filter errors via the same location where the filter is set
Igor Sysoev <igor@sysoev.ru>
parents: 2787
diff changeset
148 ngx_module_t *m, ngx_int_t error);
2787
3daf68f2efe3 ngx_http_filter_finalize_request() and ngx_http_clean_header()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
149 void ngx_http_clean_header(ngx_http_request_t *r);
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 58
diff changeset
150
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 58
diff changeset
151
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 287
diff changeset
152 time_t ngx_http_parse_time(u_char *value, size_t len);
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 58
diff changeset
153 size_t ngx_http_get_time(char *buf, time_t t);
164
84036764e215 nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 160
diff changeset
154
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
155
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
156
1370
cc114c85be0f rename ngx_http_discard_body() to ngx_http_discard_request_body()
Igor Sysoev <igor@sysoev.ru>
parents: 1368
diff changeset
157 ngx_int_t ngx_http_discard_request_body(ngx_http_request_t *r);
3214
798a7f1d3b2f restore discard body handler after ngx_http_set_writer() set it to
Igor Sysoev <igor@sysoev.ru>
parents: 3064
diff changeset
158 void ngx_http_discarded_request_body_handler(ngx_http_request_t *r);
1368
202cae9a0c2b rename ngx_http_block_read() and ngx_http_test_read() to ..._reading()
Igor Sysoev <igor@sysoev.ru>
parents: 1219
diff changeset
159 void ngx_http_block_reading(ngx_http_request_t *r);
2294
ce574b0ffeec ngx_http_limit_req_module
Igor Sysoev <igor@sysoev.ru>
parents: 2256
diff changeset
160 void ngx_http_test_reading(ngx_http_request_t *r);
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 24
diff changeset
161
58
6b13b1cadabe nginx-0.0.1-2003-01-30-21:21:39 import
Igor Sysoev <igor@sysoev.ru>
parents: 56
diff changeset
162
2138
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
163 char *ngx_http_types_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
3372
6b8e5c882e47 support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
164 char *ngx_http_merge_types(ngx_conf_t *cf, ngx_array_t **keys,
6b8e5c882e47 support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
165 ngx_hash_t *types_hash, ngx_array_t **prev_keys,
6b8e5c882e47 support "*" in gzip_types, ssi_types, etc
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
166 ngx_hash_t *prev_types_hash, ngx_str_t *default_types);
2175
a69886fc2864 *) fix segfaults in types hash
Igor Sysoev <igor@sysoev.ru>
parents: 2166
diff changeset
167 ngx_int_t ngx_http_set_default_types(ngx_conf_t *cf, ngx_array_t **types,
2138
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
168 ngx_str_t *default_type);
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
169
3772
c1e3cb4c669c ngx_http_degraded()
Igor Sysoev <igor@sysoev.ru>
parents: 3626
diff changeset
170 #if (NGX_HTTP_DEGRADATION)
c1e3cb4c669c ngx_http_degraded()
Igor Sysoev <igor@sysoev.ru>
parents: 3626
diff changeset
171 ngx_uint_t ngx_http_degraded(ngx_http_request_t *);
c1e3cb4c669c ngx_http_degraded()
Igor Sysoev <igor@sysoev.ru>
parents: 3626
diff changeset
172 #endif
c1e3cb4c669c ngx_http_degraded()
Igor Sysoev <igor@sysoev.ru>
parents: 3626
diff changeset
173
2138
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
174
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
175 extern ngx_module_t ngx_http_module;
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
176
2166
723df5089c05 use hash in gzip_types, ssi_types, and sub_filter_types
Igor Sysoev <igor@sysoev.ru>
parents: 2138
diff changeset
177 extern ngx_str_t ngx_http_html_default_types[];
723df5089c05 use hash in gzip_types, ssi_types, and sub_filter_types
Igor Sysoev <igor@sysoev.ru>
parents: 2138
diff changeset
178
10
4f3879d9b6f6 nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 9
diff changeset
179
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
180 extern ngx_http_output_header_filter_pt ngx_http_top_header_filter;
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
181 extern ngx_http_output_body_filter_pt ngx_http_top_body_filter;
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
182
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
183
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
184 #endif /* _NGX_HTTP_H_INCLUDED_ */