annotate src/http/ngx_http_request.h @ 391:1d9bef53cd8e

Range filter: late_ranges functionality. Add one more filtering point after postpone filter. This allows to serve range capable replies with subrequests. It's not as efficient as range filtering for static data (i.e. doesn't save us from reading data from disk if some filter needs them in memory), but it may save some network bandwidth for us and for our users.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 21 Jul 2008 05:33:01 +0400
parents 6de24473fa70
children 77df96611112
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_HTTP_REQUEST_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #define _NGX_HTTP_REQUEST_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
200
d2ae1c9f1fd3 nginx 0.3.47
Igor Sysoev <http://sysoev.ru>
parents: 198
diff changeset
11 #define NGX_HTTP_MAX_URI_CHANGES 10
206
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
12 #define NGX_HTTP_MAX_SUBREQUESTS 50
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
13
198
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
14 /* must be 2^n */
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
15 #define NGX_HTTP_LC_HEADER_LEN 32
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
16
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
17
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 #define NGX_HTTP_DISCARD_BUFFER_SIZE 4096
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 #define NGX_HTTP_LINGERING_BUFFER_SIZE 4096
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #define NGX_HTTP_VERSION_9 9
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 #define NGX_HTTP_VERSION_10 1000
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24 #define NGX_HTTP_VERSION_11 1001
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
26 #define NGX_HTTP_UNKNOWN 0x0001
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
27 #define NGX_HTTP_GET 0x0002
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
28 #define NGX_HTTP_HEAD 0x0004
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
29 #define NGX_HTTP_POST 0x0008
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
30 #define NGX_HTTP_PUT 0x0010
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
31 #define NGX_HTTP_DELETE 0x0020
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
32 #define NGX_HTTP_MKCOL 0x0040
256
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
33 #define NGX_HTTP_COPY 0x0080
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
34 #define NGX_HTTP_MOVE 0x0100
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
35 #define NGX_HTTP_OPTIONS 0x0200
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
36 #define NGX_HTTP_PROPFIND 0x0400
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
37 #define NGX_HTTP_PROPPATCH 0x0800
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
38 #define NGX_HTTP_LOCK 0x1000
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 254
diff changeset
39 #define NGX_HTTP_UNLOCK 0x2000
294
27d9d1f26b38 nginx 0.5.17
Igor Sysoev <http://sysoev.ru>
parents: 278
diff changeset
40 #define NGX_HTTP_TRACE 0x4000
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42 #define NGX_HTTP_CONNECTION_CLOSE 1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43 #define NGX_HTTP_CONNECTION_KEEP_ALIVE 2
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46 #define NGX_NONE 1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 #define NGX_HTTP_PARSE_HEADER_DONE 1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51 #define NGX_HTTP_CLIENT_ERROR 10
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 #define NGX_HTTP_PARSE_INVALID_METHOD 10
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
53 #define NGX_HTTP_PARSE_INVALID_REQUEST 11
54
bcb5fce0b038 nginx 0.1.27
Igor Sysoev <http://sysoev.ru>
parents: 52
diff changeset
54 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55
54
bcb5fce0b038 nginx 0.1.27
Igor Sysoev <http://sysoev.ru>
parents: 52
diff changeset
56 #define NGX_HTTP_PARSE_INVALID_HEADER 13
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
58
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
59 #define NGX_HTTP_ZERO_IN_URI 1
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
60 #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
61
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63 #define NGX_HTTP_OK 200
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
64 #define NGX_HTTP_CREATED 201
60
df7d3fff122b nginx 0.1.30
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
65 #define NGX_HTTP_NO_CONTENT 204
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66 #define NGX_HTTP_PARTIAL_CONTENT 206
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68 #define NGX_HTTP_SPECIAL_RESPONSE 300
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
69 #define NGX_HTTP_MOVED_PERMANENTLY 301
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70 #define NGX_HTTP_MOVED_TEMPORARILY 302
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71 #define NGX_HTTP_NOT_MODIFIED 304
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
72
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
73 #define NGX_HTTP_BAD_REQUEST 400
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 50
diff changeset
74 #define NGX_HTTP_UNAUTHORIZED 401
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
75 #define NGX_HTTP_FORBIDDEN 403
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76 #define NGX_HTTP_NOT_FOUND 404
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 #define NGX_HTTP_NOT_ALLOWED 405
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
78 #define NGX_HTTP_REQUEST_TIME_OUT 408
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
79 #define NGX_HTTP_CONFLICT 409
130
82d695e3d662 nginx 0.3.12
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
80 #define NGX_HTTP_LENGTH_REQUIRED 411
276
c5c2b2883984 nginx 0.5.8
Igor Sysoev <http://sysoev.ru>
parents: 272
diff changeset
81 #define NGX_HTTP_PRECONDITION_FAILED 412
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82 #define NGX_HTTP_REQUEST_ENTITY_TOO_LARGE 413
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
83 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
84 #define NGX_HTTP_UNSUPPORTED_MEDIA_TYPE 415
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85 #define NGX_HTTP_RANGE_NOT_SATISFIABLE 416
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
86
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
87
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 /* Our own HTTP codes */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89
136
3656228c0b56 nginx 0.3.15
Igor Sysoev <http://sysoev.ru>
parents: 130
diff changeset
90 /* The special code to close connection without any response */
3656228c0b56 nginx 0.3.15
Igor Sysoev <http://sysoev.ru>
parents: 130
diff changeset
91 #define NGX_HTTP_CLOSE 444
3656228c0b56 nginx 0.3.15
Igor Sysoev <http://sysoev.ru>
parents: 130
diff changeset
92
196
8759b346e431 nginx 0.3.45
Igor Sysoev <http://sysoev.ru>
parents: 186
diff changeset
93 #define NGX_HTTP_OWN_CODES 495
8759b346e431 nginx 0.3.45
Igor Sysoev <http://sysoev.ru>
parents: 186
diff changeset
94
8759b346e431 nginx 0.3.45
Igor Sysoev <http://sysoev.ru>
parents: 186
diff changeset
95 #define NGX_HTTPS_CERT_ERROR 495
8759b346e431 nginx 0.3.45
Igor Sysoev <http://sysoev.ru>
parents: 186
diff changeset
96 #define NGX_HTTPS_NO_CERT 496
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
97
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
98 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
99 * We use the special code for the plain HTTP requests that are sent to
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 122
diff changeset
100 * HTTPS port to distinguish it from 4XX in an error page redirection
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
101 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
102 #define NGX_HTTP_TO_HTTPS 497
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
103
162
6be073125f2e nginx 0.3.28
Igor Sysoev <http://sysoev.ru>
parents: 146
diff changeset
104 /* 498 is the canceled code for the requests with invalid host name */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
105
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
106 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
107 * HTTP does not define the code for the case when a client closed
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
108 * the connection while we are processing its request so we introduce
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
109 * own code to log such situation when a client has closed the connection
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
110 * before we even try to send the HTTP header to it
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
111 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
112 #define NGX_HTTP_CLIENT_CLOSED_REQUEST 499
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
113
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
114
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
115 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
116 #define NGX_HTTP_NOT_IMPLEMENTED 501
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
117 #define NGX_HTTP_BAD_GATEWAY 502
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
118 #define NGX_HTTP_SERVICE_UNAVAILABLE 503
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
119 #define NGX_HTTP_GATEWAY_TIME_OUT 504
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
120 #define NGX_HTTP_INSUFFICIENT_STORAGE 507
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
122
254
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
123 #define NGX_HTTP_LOWLEVEL_BUFFERED 0xf0
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
124 #define NGX_HTTP_WRITE_BUFFERED 0x10
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
125 #define NGX_HTTP_GZIP_BUFFERED 0x20
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
126 #define NGX_HTTP_SSI_BUFFERED 0x01
296
2ceaee987f37 nginx 0.5.18
Igor Sysoev <http://sysoev.ru>
parents: 294
diff changeset
127 #define NGX_HTTP_SUB_BUFFERED 0x02
2ceaee987f37 nginx 0.5.18
Igor Sysoev <http://sysoev.ru>
parents: 294
diff changeset
128 #define NGX_HTTP_COPY_BUFFERED 0x04
146
36af50a5582d nginx 0.3.20
Igor Sysoev <http://sysoev.ru>
parents: 144
diff changeset
129
36af50a5582d nginx 0.3.20
Igor Sysoev <http://sysoev.ru>
parents: 144
diff changeset
130
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
131 typedef enum {
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
132 NGX_HTTP_INITING_REQUEST_STATE = 0,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
133 NGX_HTTP_READING_REQUEST_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
134 NGX_HTTP_PROCESS_REQUEST_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
135
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
136 NGX_HTTP_CONNECT_UPSTREAM_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
137 NGX_HTTP_WRITING_UPSTREAM_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
138 NGX_HTTP_READING_UPSTREAM_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
139
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
140 NGX_HTTP_WRITING_REQUEST_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
141 NGX_HTTP_LINGERING_CLOSE_STATE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
142 NGX_HTTP_KEEPALIVE_STATE
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
143 } ngx_http_state_e;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
144
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
145
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
146 typedef struct {
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
147 ngx_str_t name;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
148 ngx_uint_t offset;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
149 ngx_http_header_handler_pt handler;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
150 } ngx_http_header_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
151
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
152
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
153 typedef struct {
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
154 ngx_str_t name;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
155 ngx_uint_t offset;
118
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
156 } ngx_http_header_out_t;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
157
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
158
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
159 typedef struct {
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
160 ngx_list_t headers;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
161
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
162 ngx_table_elt_t *host;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
163 ngx_table_elt_t *connection;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
164 ngx_table_elt_t *if_modified_since;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
165 ngx_table_elt_t *user_agent;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
166 ngx_table_elt_t *referer;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
167 ngx_table_elt_t *content_length;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
168 ngx_table_elt_t *content_type;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
169
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
170 ngx_table_elt_t *range;
346
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 340
diff changeset
171 ngx_table_elt_t *if_range;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
172
130
82d695e3d662 nginx 0.3.12
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
173 ngx_table_elt_t *transfer_encoding;
384
12defd37f578 nginx 0.7.4
Igor Sysoev <http://sysoev.ru>
parents: 376
diff changeset
174 ngx_table_elt_t *expect;
130
82d695e3d662 nginx 0.3.12
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
175
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
176 #if (NGX_HTTP_GZIP)
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
177 ngx_table_elt_t *accept_encoding;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
178 ngx_table_elt_t *via;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
179 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
180
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
181 ngx_table_elt_t *authorization;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
182
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
183 ngx_table_elt_t *keep_alive;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
184
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
185 #if (NGX_HTTP_PROXY || NGX_HTTP_REALIP)
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
186 ngx_table_elt_t *x_forwarded_for;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
187 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
188
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
189 #if (NGX_HTTP_REALIP)
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
190 ngx_table_elt_t *x_real_ip;
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
191 #endif
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
192
38
2879cd3a40cb nginx 0.1.19
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
193 #if (NGX_HTTP_HEADERS)
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
194 ngx_table_elt_t *accept;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
195 ngx_table_elt_t *accept_language;
38
2879cd3a40cb nginx 0.1.19
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
196 #endif
2879cd3a40cb nginx 0.1.19
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
197
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
198 #if (NGX_HTTP_DAV)
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
199 ngx_table_elt_t *depth;
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
200 ngx_table_elt_t *destination;
276
c5c2b2883984 nginx 0.5.8
Igor Sysoev <http://sysoev.ru>
parents: 272
diff changeset
201 ngx_table_elt_t *overwrite;
230
38e7b94d63ac nginx 0.4.0
Igor Sysoev <http://sysoev.ru>
parents: 228
diff changeset
202 ngx_table_elt_t *date;
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
203 #endif
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
204
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 50
diff changeset
205 ngx_str_t user;
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 50
diff changeset
206 ngx_str_t passwd;
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 50
diff changeset
207
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
208 ngx_array_t cookies;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
209
376
edf1cb6c328e nginx 0.7.0
Igor Sysoev <http://sysoev.ru>
parents: 364
diff changeset
210 ngx_str_t server;
212
56688ed172c8 nginx 0.3.53
Igor Sysoev <http://sysoev.ru>
parents: 206
diff changeset
211 off_t content_length_n;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
212 time_t keep_alive_n;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
213
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
214 unsigned connection_type:2;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
215 unsigned msie:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
216 unsigned msie4:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
217 unsigned opera:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
218 unsigned gecko:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
219 unsigned konqueror:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
220 } ngx_http_headers_in_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
221
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
222
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
223 typedef struct {
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
224 ngx_list_t headers;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
225
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
226 ngx_uint_t status;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
227 ngx_str_t status_line;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
228
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
229 ngx_table_elt_t *server;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
230 ngx_table_elt_t *date;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
231 ngx_table_elt_t *content_length;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
232 ngx_table_elt_t *content_encoding;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
233 ngx_table_elt_t *location;
348
e10168d6e371 nginx 0.6.18
Igor Sysoev <http://sysoev.ru>
parents: 346
diff changeset
234 ngx_table_elt_t *refresh;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
235 ngx_table_elt_t *last_modified;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
236 ngx_table_elt_t *content_range;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
237 ngx_table_elt_t *accept_ranges;
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 50
diff changeset
238 ngx_table_elt_t *www_authenticate;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
239 ngx_table_elt_t *expires;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
240 ngx_table_elt_t *etag;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
241
206
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
242 ngx_str_t *override_charset;
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
243
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
244 size_t content_type_len;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
245 ngx_str_t content_type;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
246 ngx_str_t charset;
206
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
247
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
248 ngx_array_t cache_control;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
249
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
250 off_t content_length_n;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
251 time_t date_time;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
252 time_t last_modified_time;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
253 } ngx_http_headers_out_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
254
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
255
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
256 typedef void (*ngx_http_client_body_handler_pt)(ngx_http_request_t *r);
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
257
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
258 typedef struct {
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
259 ngx_temp_file_t *temp_file;
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
260 ngx_chain_t *bufs;
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
261 ngx_buf_t *buf;
212
56688ed172c8 nginx 0.3.53
Igor Sysoev <http://sysoev.ru>
parents: 206
diff changeset
262 off_t rest;
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
263 ngx_chain_t *to_write;
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
264 ngx_http_client_body_handler_pt post_handler;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
265 } ngx_http_request_body_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
266
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
267
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
268 typedef struct {
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
269 ngx_http_request_t *request;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
270
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
271 ngx_buf_t **busy;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
272 ngx_int_t nbusy;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
273
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
274 ngx_buf_t **free;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
275 ngx_int_t nfree;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
276
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
277 ngx_uint_t pipeline; /* unsigned pipeline:1; */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
278 } ngx_http_connection_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
279
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
280
326
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
281 typedef struct ngx_http_server_name_s ngx_http_server_name_t;
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
282
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
283
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
284 typedef struct {
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
285 ngx_hash_combined_t names;
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
286
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
287 ngx_uint_t nregex;
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
288 ngx_http_server_name_t *regex;
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 312
diff changeset
289 } ngx_http_virtual_names_t;
142
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
290
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
291
118
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
292 typedef void (*ngx_http_cleanup_pt)(void *data);
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
293
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
294 typedef struct ngx_http_cleanup_s ngx_http_cleanup_t;
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
295
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
296 struct ngx_http_cleanup_s {
142
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
297 ngx_http_cleanup_pt handler;
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
298 void *data;
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
299 ngx_http_cleanup_t *next;
118
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
300 };
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
301
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
302
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
303 typedef ngx_int_t (*ngx_http_post_subrequest_pt)(ngx_http_request_t *r,
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
304 void *data, ngx_int_t rc);
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
305
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
306 typedef struct {
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
307 ngx_http_post_subrequest_pt handler;
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
308 void *data;
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
309 } ngx_http_post_subrequest_t;
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
310
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
311
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
312 typedef struct ngx_http_postponed_request_s ngx_http_postponed_request_t;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
313
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
314 struct ngx_http_postponed_request_s {
84
991c6e4c7654 nginx 0.1.42
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
315 ngx_http_request_t *request;
991c6e4c7654 nginx 0.1.42
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
316 ngx_chain_t *out;
991c6e4c7654 nginx 0.1.42
Igor Sysoev <http://sysoev.ru>
parents: 76
diff changeset
317 ngx_http_postponed_request_t *next;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
318 };
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
319
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
320
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
321 typedef ngx_int_t (*ngx_http_handler_pt)(ngx_http_request_t *r);
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
322 typedef void (*ngx_http_event_handler_pt)(ngx_http_request_t *r);
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
323
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
324
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
325 struct ngx_http_request_s {
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
326 uint32_t signature; /* "HTTP" */
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
327
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
328 ngx_connection_t *connection;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
329
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
330 void **ctx;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
331 void **main_conf;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
332 void **srv_conf;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
333 void **loc_conf;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
334
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
335 ngx_http_event_handler_pt read_event_handler;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
336 ngx_http_event_handler_pt write_event_handler;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
337
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
338 ngx_http_cache_t *cache;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
339
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
340 ngx_http_upstream_t *upstream;
296
2ceaee987f37 nginx 0.5.18
Igor Sysoev <http://sysoev.ru>
parents: 294
diff changeset
341 ngx_array_t *upstream_states;
2ceaee987f37 nginx 0.5.18
Igor Sysoev <http://sysoev.ru>
parents: 294
diff changeset
342 /* of ngx_http_upstream_state_t */
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
343
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
344 ngx_pool_t *pool;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
345 ngx_buf_t *header_in;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
346
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
347 ngx_http_headers_in_t headers_in;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
348 ngx_http_headers_out_t headers_out;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
349
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
350 ngx_http_request_body_t *request_body;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
351
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
352 time_t lingering_time;
298
30862655219e nginx 0.5.19
Igor Sysoev <http://sysoev.ru>
parents: 296
diff changeset
353 time_t start_sec;
30862655219e nginx 0.5.19
Igor Sysoev <http://sysoev.ru>
parents: 296
diff changeset
354 ngx_msec_t start_msec;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
355
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
356 ngx_uint_t method;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
357 ngx_uint_t http_version;
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 122
diff changeset
358
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
359 ngx_str_t request_line;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
360 ngx_str_t uri;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
361 ngx_str_t args;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
362 ngx_str_t exten;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
363 ngx_str_t unparsed_uri;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
364
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
365 ngx_str_t method_name;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
366 ngx_str_t http_protocol;
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 122
diff changeset
367
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
368 ngx_chain_t *out;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
369 ngx_http_request_t *main;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
370 ngx_http_request_t *parent;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
371 ngx_http_postponed_request_t *postponed;
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
372 ngx_http_post_subrequest_t *post_subrequest;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
373
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
374 uint32_t in_addr;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
375 ngx_uint_t port;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
376 ngx_str_t *port_text; /* ":80" */
142
84910468f6de nginx 0.3.18
Igor Sysoev <http://sysoev.ru>
parents: 136
diff changeset
377 ngx_http_virtual_names_t *virtual_names;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
378
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
379 ngx_int_t phase_handler;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
380 ngx_http_handler_pt content_handler;
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 86
diff changeset
381 ngx_uint_t access_code;
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
382
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
383 ngx_http_variable_value_t *variables;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
384
76
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 72
diff changeset
385 size_t limit_rate;
da9a3b14312d nginx 0.1.38
Igor Sysoev <http://sysoev.ru>
parents: 72
diff changeset
386
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
387 /* used to learn the Apache compatible response length without a header */
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
388 size_t header_size;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
389
212
56688ed172c8 nginx 0.3.53
Igor Sysoev <http://sysoev.ru>
parents: 206
diff changeset
390 off_t request_length;
24
420dd3f9e703 nginx 0.1.12
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
391
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
392 ngx_uint_t err_status;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
393
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
394 ngx_http_connection_t *http_connection;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
395
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
396 ngx_http_log_handler_pt log_handler;
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
397
118
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
398 ngx_http_cleanup_t *cleanup;
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
399
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
400 unsigned http_state:4;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
401
2
cc9f381affaa nginx 0.1.1
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
402 /* URI with "/." and on Win32 with "//" */
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
403 unsigned complex_uri:1;
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
404
2
cc9f381affaa nginx 0.1.1
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
405 /* URI with "%" */
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
406 unsigned quoted_uri:1;
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
407
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
408 /* URI with "+" */
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
409 unsigned plus_in_uri:1;
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
410
38
2879cd3a40cb nginx 0.1.19
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
411 /* URI with "\0" or "%00" */
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
412 unsigned zero_in_uri:1;
38
2879cd3a40cb nginx 0.1.19
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
413
60
df7d3fff122b nginx 0.1.30
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
414 unsigned invalid_header:1;
df7d3fff122b nginx 0.1.30
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
415
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
416 unsigned valid_location:1;
54
bcb5fce0b038 nginx 0.1.27
Igor Sysoev <http://sysoev.ru>
parents: 52
diff changeset
417 unsigned valid_unparsed_uri:1;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
418 unsigned uri_changed:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
419 unsigned uri_changes:4;
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
420
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
421 unsigned request_body_in_single_buf:1;
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
422 unsigned request_body_in_file_only:1;
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
423 unsigned request_body_in_persistent_file:1;
278
704622b2528a nginx 0.5.9
Igor Sysoev <http://sysoev.ru>
parents: 276
diff changeset
424 unsigned request_body_in_clean_file:1;
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
425 unsigned request_body_file_group_access:1;
186
54aabf2b0bc6 nginx 0.3.40
Igor Sysoev <http://sysoev.ru>
parents: 182
diff changeset
426 unsigned request_body_file_log_level:3;
182
13710a1813ad nginx 0.3.38
Igor Sysoev <http://sysoev.ru>
parents: 180
diff changeset
427
146
36af50a5582d nginx 0.3.20
Igor Sysoev <http://sysoev.ru>
parents: 144
diff changeset
428 unsigned fast_subrequest:1;
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
429 unsigned subrequest_in_memory:1;
146
36af50a5582d nginx 0.3.20
Igor Sysoev <http://sysoev.ru>
parents: 144
diff changeset
430
358
9121a0a91f47 nginx 0.6.23
Igor Sysoev <http://sysoev.ru>
parents: 348
diff changeset
431 unsigned gzip:2;
9121a0a91f47 nginx 0.6.23
Igor Sysoev <http://sysoev.ru>
parents: 348
diff changeset
432
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
433 unsigned proxy:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
434 unsigned bypass_cache:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
435 unsigned no_cache:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
436
122
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
437 #if (NGX_HTTP_REALIP)
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
438
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
439 /*
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
440 * instead of using the request context data in ngx_http_realip_module
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
441 * we use the single bit in the request structure
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
442 */
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
443 unsigned realip_set:1;
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
444
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
445 #endif
d25a1d6034f1 nginx 0.3.8
Igor Sysoev <http://sysoev.ru>
parents: 118
diff changeset
446
272
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
447 /*
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
448 * instead of using the request context data in ngx_http_limit_zone_module
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
449 * we use the single bit in the request structure
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
450 */
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
451 unsigned limit_zone_set:1;
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
452
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
453 #if 0
340
10cc350ed8a1 nginx 0.6.14
Igor Sysoev <http://sysoev.ru>
parents: 326
diff changeset
454 unsigned cacheable:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
455 #endif
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
456
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
457 unsigned pipeline:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
458 unsigned plain_http:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
459 unsigned chunked:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
460 unsigned header_only:1;
238
a528ae0fe909 nginx 0.4.4
Igor Sysoev <http://sysoev.ru>
parents: 230
diff changeset
461 unsigned zero_body:1;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
462 unsigned keepalive:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
463 unsigned lingering_close:1;
86
962c43960644 nginx 0.1.43
Igor Sysoev <http://sysoev.ru>
parents: 84
diff changeset
464 unsigned discard_body:1;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
465 unsigned internal:1;
228
9eebc1b2cdbb nginx 0.3.61
Igor Sysoev <http://sysoev.ru>
parents: 224
diff changeset
466 unsigned error_page:1;
178
87699398f955 nginx 0.3.36
Igor Sysoev <http://sysoev.ru>
parents: 168
diff changeset
467 unsigned post_action:1;
87699398f955 nginx 0.3.36
Igor Sysoev <http://sysoev.ru>
parents: 168
diff changeset
468 unsigned request_complete:1;
216
fa32d59d9a15 nginx 0.3.55
Igor Sysoev <http://sysoev.ru>
parents: 212
diff changeset
469 unsigned request_output:1;
fa32d59d9a15 nginx 0.3.55
Igor Sysoev <http://sysoev.ru>
parents: 212
diff changeset
470 unsigned header_sent:1;
384
12defd37f578 nginx 0.7.4
Igor Sysoev <http://sysoev.ru>
parents: 376
diff changeset
471 unsigned expect_tested:1;
388
6de24473fa70 nginx 0.7.6
Igor Sysoev <http://sysoev.ru>
parents: 384
diff changeset
472 unsigned root_tested:1;
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
473 unsigned done:1;
72
b31656313b59 nginx 0.1.36
Igor Sysoev <http://sysoev.ru>
parents: 62
diff changeset
474 unsigned utf8:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
475
254
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
476 unsigned buffered:4;
f3ec44f4a53b nginx 0.4.12
Igor Sysoev <http://sysoev.ru>
parents: 248
diff changeset
477
62
0790a8599248 nginx 0.1.31
Igor Sysoev <http://sysoev.ru>
parents: 60
diff changeset
478 unsigned main_filter_need_in_memory:1;
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
479 unsigned filter_need_in_memory:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
480 unsigned filter_need_temporary:1;
130
82d695e3d662 nginx 0.3.12
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
481 unsigned allow_ranges:1;
391
1d9bef53cd8e Range filter: late_ranges functionality.
Maxim Dounin <mdounin@mdounin.ru>
parents: 388
diff changeset
482 unsigned late_ranges:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
483
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
484 #if (NGX_STAT_STUB)
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
485 unsigned stat_reading:1;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
486 unsigned stat_writing:1;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
487 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
488
206
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
489 unsigned subrequests:8;
3866d57d9cfd nginx 0.3.50
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
490
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
491 /* used to parse HTTP headers */
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
492
50
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
493 ngx_uint_t state;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
494 u_char *uri_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
495 u_char *uri_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
496 u_char *uri_ext;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
497 u_char *args_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
498 u_char *request_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
499 u_char *request_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
500 u_char *method_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
501 u_char *schema_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
502 u_char *schema_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
503 u_char *host_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
504 u_char *host_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
505 u_char *port_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
506 u_char *port_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
507 u_char *header_name_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
508 u_char *header_name_end;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
509 u_char *header_start;
72eb30262aac nginx 0.1.25
Igor Sysoev <http://sysoev.ru>
parents: 46
diff changeset
510 u_char *header_end;
198
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
511
248
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
512 unsigned http_minor:16;
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
513 unsigned http_major:16;
acd2ec3541cb nginx 0.4.9
Igor Sysoev <http://sysoev.ru>
parents: 238
diff changeset
514
56
3050baa54a26 nginx 0.1.28
Igor Sysoev <http://sysoev.ru>
parents: 54
diff changeset
515 ngx_uint_t header_hash;
198
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
516 ngx_uint_t lowcase_index;
e6da4931e0e0 nginx 0.3.46
Igor Sysoev <http://sysoev.ru>
parents: 196
diff changeset
517 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
518 };
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
519
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
520
118
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
521 extern ngx_http_header_t ngx_http_headers_in[];
644a7935144b nginx 0.3.6
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
522 extern ngx_http_header_out_t ngx_http_headers_out[];
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
523
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
524
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
525 #endif /* _NGX_HTTP_REQUEST_H_INCLUDED_ */