Mercurial > hg > nginx-quic
annotate src/http/ngx_http_request.h @ 2462:90d5ddfedbb1
use GetFileAttributesEx() instead of GetFileAttributes()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 21 Jan 2009 15:56:29 +0000 |
parents | 87b8c44906b5 |
children | c1975ccd0215 |
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:
436
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:
436
diff
changeset
|
2 /* |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
441
diff
changeset
|
3 * Copyright (C) Igor Sysoev |
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
436
diff
changeset
|
4 */ |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
436
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:
436
diff
changeset
|
6 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
7 #ifndef _NGX_HTTP_REQUEST_H_INCLUDED_ |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #define _NGX_HTTP_REQUEST_H_INCLUDED_ |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
651 | 11 #define NGX_HTTP_MAX_URI_CHANGES 10 |
657 | 12 #define NGX_HTTP_MAX_SUBREQUESTS 50 |
509 | 13 |
649 | 14 /* must be 2^n */ |
15 #define NGX_HTTP_LC_HEADER_LEN 32 | |
16 | |
509 | 17 |
436
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
18 #define NGX_HTTP_DISCARD_BUFFER_SIZE 4096 |
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
19 #define NGX_HTTP_LINGERING_BUFFER_SIZE 4096 |
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
20 |
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
21 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
22 #define NGX_HTTP_VERSION_9 9 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
23 #define NGX_HTTP_VERSION_10 1000 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
24 #define NGX_HTTP_VERSION_11 1001 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
25 |
633 | 26 #define NGX_HTTP_UNKNOWN 0x0001 |
27 #define NGX_HTTP_GET 0x0002 | |
28 #define NGX_HTTP_HEAD 0x0004 | |
29 #define NGX_HTTP_POST 0x0008 | |
30 #define NGX_HTTP_PUT 0x0010 | |
31 #define NGX_HTTP_DELETE 0x0020 | |
637 | 32 #define NGX_HTTP_MKCOL 0x0040 |
844 | 33 #define NGX_HTTP_COPY 0x0080 |
34 #define NGX_HTTP_MOVE 0x0100 | |
35 #define NGX_HTTP_OPTIONS 0x0200 | |
36 #define NGX_HTTP_PROPFIND 0x0400 | |
37 #define NGX_HTTP_PROPPATCH 0x0800 | |
38 #define NGX_HTTP_LOCK 0x1000 | |
39 #define NGX_HTTP_UNLOCK 0x2000 | |
1151 | 40 #define NGX_HTTP_TRACE 0x4000 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
41 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
42 #define NGX_HTTP_CONNECTION_CLOSE 1 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
43 #define NGX_HTTP_CONNECTION_KEEP_ALIVE 2 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
44 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
45 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
46 #define NGX_NONE 1 |
141
656d468f4ead
nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
136
diff
changeset
|
47 |
656d468f4ead
nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
136
diff
changeset
|
48 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
49 #define NGX_HTTP_PARSE_HEADER_DONE 1 |
160
e7e094d34162
nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents:
155
diff
changeset
|
50 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
51 #define NGX_HTTP_CLIENT_ERROR 10 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
52 #define NGX_HTTP_PARSE_INVALID_METHOD 10 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
53 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 |
505 | 54 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12 |
160
e7e094d34162
nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents:
155
diff
changeset
|
55 |
505 | 56 #define NGX_HTTP_PARSE_INVALID_HEADER 13 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
57 |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
58 |
573 | 59 #define NGX_HTTP_ZERO_IN_URI 1 |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
60 #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2 |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
61 #define NGX_HTTP_SUBREQUEST_WAITED 4 |
573 | 62 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
63 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
64 #define NGX_HTTP_OK 200 |
633 | 65 #define NGX_HTTP_CREATED 201 |
511 | 66 #define NGX_HTTP_NO_CONTENT 204 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
67 #define NGX_HTTP_PARTIAL_CONTENT 206 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
68 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
69 #define NGX_HTTP_SPECIAL_RESPONSE 300 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
70 #define NGX_HTTP_MOVED_PERMANENTLY 301 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
71 #define NGX_HTTP_MOVED_TEMPORARILY 302 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
72 #define NGX_HTTP_NOT_MODIFIED 304 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
73 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
74 #define NGX_HTTP_BAD_REQUEST 400 |
503 | 75 #define NGX_HTTP_UNAUTHORIZED 401 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
76 #define NGX_HTTP_FORBIDDEN 403 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
77 #define NGX_HTTP_NOT_FOUND 404 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
78 #define NGX_HTTP_NOT_ALLOWED 405 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
79 #define NGX_HTTP_REQUEST_TIME_OUT 408 |
637 | 80 #define NGX_HTTP_CONFLICT 409 |
581 | 81 #define NGX_HTTP_LENGTH_REQUIRED 411 |
1057 | 82 #define NGX_HTTP_PRECONDITION_FAILED 412 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
83 #define NGX_HTTP_REQUEST_ENTITY_TOO_LARGE 413 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
84 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 |
637 | 85 #define NGX_HTTP_UNSUPPORTED_MEDIA_TYPE 415 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
86 #define NGX_HTTP_RANGE_NOT_SATISFIABLE 416 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
87 |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
88 |
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
89 /* Our own HTTP codes */ |
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
90 |
587 | 91 /* The special code to close connection without any response */ |
92 #define NGX_HTTP_CLOSE 444 | |
93 | |
647 | 94 #define NGX_HTTP_OWN_CODES 495 |
95 | |
96 #define NGX_HTTPS_CERT_ERROR 495 | |
97 #define NGX_HTTPS_NO_CERT 496 | |
384
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
98 |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
99 /* |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
100 * We use the special code for the plain HTTP requests that are sent to |
577 | 101 * HTTPS port to distinguish it from 4XX in an error page redirection |
384
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
102 */ |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
103 #define NGX_HTTP_TO_HTTPS 497 |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
104 |
613 | 105 /* 498 is the canceled code for the requests with invalid host name */ |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
106 |
189
c966c09be66b
nginx-0.0.1-2003-11-18-19:49:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
179
diff
changeset
|
107 /* |
232
03c54b6d7a6f
nginx-0.0.1-2004-01-19-00:09:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
216
diff
changeset
|
108 * HTTP does not define the code for the case when a client closed |
03c54b6d7a6f
nginx-0.0.1-2004-01-19-00:09:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
216
diff
changeset
|
109 * the connection while we are processing its request so we introduce |
03c54b6d7a6f
nginx-0.0.1-2004-01-19-00:09:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
216
diff
changeset
|
110 * own code to log such situation when a client has closed the connection |
03c54b6d7a6f
nginx-0.0.1-2004-01-19-00:09:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
216
diff
changeset
|
111 * before we even try to send the HTTP header to it |
189
c966c09be66b
nginx-0.0.1-2003-11-18-19:49:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
179
diff
changeset
|
112 */ |
190
02a715e85df1
nginx-0.0.1-2003-11-19-00:34:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
189
diff
changeset
|
113 #define NGX_HTTP_CLIENT_CLOSED_REQUEST 499 |
189
c966c09be66b
nginx-0.0.1-2003-11-18-19:49:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
179
diff
changeset
|
114 |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
115 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
116 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
117 #define NGX_HTTP_NOT_IMPLEMENTED 501 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
118 #define NGX_HTTP_BAD_GATEWAY 502 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
119 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
120 #define NGX_HTTP_GATEWAY_TIME_OUT 504 |
637 | 121 #define NGX_HTTP_INSUFFICIENT_STORAGE 507 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
122 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
123 |
829
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
124 #define NGX_HTTP_LOWLEVEL_BUFFERED 0xf0 |
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
125 #define NGX_HTTP_WRITE_BUFFERED 0x10 |
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
126 #define NGX_HTTP_GZIP_BUFFERED 0x20 |
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
127 #define NGX_HTTP_SSI_BUFFERED 0x01 |
1172 | 128 #define NGX_HTTP_SUB_BUFFERED 0x02 |
129 #define NGX_HTTP_COPY_BUFFERED 0x04 | |
597 | 130 |
131 | |
216
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
132 typedef enum { |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
133 NGX_HTTP_INITING_REQUEST_STATE = 0, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
134 NGX_HTTP_READING_REQUEST_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
135 NGX_HTTP_PROCESS_REQUEST_STATE, |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
136 |
216
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
137 NGX_HTTP_CONNECT_UPSTREAM_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
138 NGX_HTTP_WRITING_UPSTREAM_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
139 NGX_HTTP_READING_UPSTREAM_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
140 |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
141 NGX_HTTP_WRITING_REQUEST_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
142 NGX_HTTP_LINGERING_CLOSE_STATE, |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
143 NGX_HTTP_KEEPALIVE_STATE |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
144 } ngx_http_state_e; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
145 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
146 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
147 typedef struct { |
501 | 148 ngx_str_t name; |
149 ngx_uint_t offset; | |
509 | 150 ngx_http_header_handler_pt handler; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
151 } ngx_http_header_t; |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
152 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
153 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
154 typedef struct { |
509 | 155 ngx_str_t name; |
156 ngx_uint_t offset; | |
569 | 157 } ngx_http_header_out_t; |
509 | 158 |
159 | |
160 typedef struct { | |
501 | 161 ngx_list_t headers; |
164
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
162 |
501 | 163 ngx_table_elt_t *host; |
164 ngx_table_elt_t *connection; | |
165 ngx_table_elt_t *if_modified_since; | |
166 ngx_table_elt_t *user_agent; | |
167 ngx_table_elt_t *referer; | |
168 ngx_table_elt_t *content_length; | |
169 ngx_table_elt_t *content_type; | |
155
46eb23d9471d
nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents:
154
diff
changeset
|
170 |
501 | 171 ngx_table_elt_t *range; |
1630 | 172 ngx_table_elt_t *if_range; |
287
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
173 |
581 | 174 ngx_table_elt_t *transfer_encoding; |
2067 | 175 ngx_table_elt_t *expect; |
581 | 176 |
287
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
177 #if (NGX_HTTP_GZIP) |
501 | 178 ngx_table_elt_t *accept_encoding; |
179 ngx_table_elt_t *via; | |
287
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
180 #endif |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
181 |
501 | 182 ngx_table_elt_t *authorization; |
172
caa57ddf6d77
nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
170
diff
changeset
|
183 |
501 | 184 ngx_table_elt_t *keep_alive; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
185 |
573 | 186 #if (NGX_HTTP_PROXY || NGX_HTTP_REALIP) |
501 | 187 ngx_table_elt_t *x_forwarded_for; |
287
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
188 #endif |
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
189 |
573 | 190 #if (NGX_HTTP_REALIP) |
191 ngx_table_elt_t *x_real_ip; | |
192 #endif | |
193 | |
489 | 194 #if (NGX_HTTP_HEADERS) |
501 | 195 ngx_table_elt_t *accept; |
196 ngx_table_elt_t *accept_language; | |
489 | 197 #endif |
198 | |
637 | 199 #if (NGX_HTTP_DAV) |
200 ngx_table_elt_t *depth; | |
201 ngx_table_elt_t *destination; | |
1059 | 202 ngx_table_elt_t *overwrite; |
681 | 203 ngx_table_elt_t *date; |
637 | 204 #endif |
205 | |
503 | 206 ngx_str_t user; |
207 ngx_str_t passwd; | |
208 | |
501 | 209 ngx_array_t cookies; |
210 | |
2007
b9de93d804ea
*) host in request line has priority
Igor Sysoev <igor@sysoev.ru>
parents:
1856
diff
changeset
|
211 ngx_str_t server; |
663 | 212 off_t content_length_n; |
501 | 213 time_t keep_alive_n; |
408
d6e2b445c1b8
nginx-0.0.10-2004-08-27-19:40:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
396
diff
changeset
|
214 |
501 | 215 unsigned connection_type:2; |
216 unsigned msie:1; | |
217 unsigned msie4:1; | |
2205 | 218 unsigned msie6:1; |
501 | 219 unsigned opera:1; |
220 unsigned gecko:1; | |
221 unsigned konqueror:1; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
222 } ngx_http_headers_in_t; |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
223 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
224 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
225 typedef struct { |
501 | 226 ngx_list_t headers; |
164
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
227 |
501 | 228 ngx_uint_t status; |
229 ngx_str_t status_line; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
230 |
501 | 231 ngx_table_elt_t *server; |
232 ngx_table_elt_t *date; | |
233 ngx_table_elt_t *content_length; | |
234 ngx_table_elt_t *content_encoding; | |
235 ngx_table_elt_t *location; | |
1654 | 236 ngx_table_elt_t *refresh; |
501 | 237 ngx_table_elt_t *last_modified; |
238 ngx_table_elt_t *content_range; | |
239 ngx_table_elt_t *accept_ranges; | |
503 | 240 ngx_table_elt_t *www_authenticate; |
501 | 241 ngx_table_elt_t *expires; |
242 ngx_table_elt_t *etag; | |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
243 |
657 | 244 ngx_str_t *override_charset; |
245 | |
246 size_t content_type_len; | |
509 | 247 ngx_str_t content_type; |
501 | 248 ngx_str_t charset; |
2138 | 249 u_char *content_type_lowcase; |
250 ngx_uint_t content_type_hash; | |
657 | 251 |
509 | 252 ngx_array_t cache_control; |
253 | |
501 | 254 off_t content_length_n; |
255 time_t date_time; | |
256 time_t last_modified_time; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
257 } ngx_http_headers_out_t; |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
258 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
259 |
479 | 260 typedef void (*ngx_http_client_body_handler_pt)(ngx_http_request_t *r); |
261 | |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
262 typedef struct { |
479 | 263 ngx_temp_file_t *temp_file; |
264 ngx_chain_t *bufs; | |
265 ngx_buf_t *buf; | |
663 | 266 off_t rest; |
633 | 267 ngx_chain_t *to_write; |
479 | 268 ngx_http_client_body_handler_pt post_handler; |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
269 } ngx_http_request_body_t; |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
270 |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
271 |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
272 typedef struct { |
501 | 273 ngx_http_request_t *request; |
433
9a97dcdd2421
nginx-0.0.11-2004-09-21-19:47:05 import
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
274 |
501 | 275 ngx_buf_t **busy; |
276 ngx_int_t nbusy; | |
433
9a97dcdd2421
nginx-0.0.11-2004-09-21-19:47:05 import
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
277 |
501 | 278 ngx_buf_t **free; |
279 ngx_int_t nfree; | |
433
9a97dcdd2421
nginx-0.0.11-2004-09-21-19:47:05 import
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
280 |
501 | 281 ngx_uint_t pipeline; /* unsigned pipeline:1; */ |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
282 } ngx_http_connection_t; |
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
283 |
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
284 |
1387 | 285 typedef struct ngx_http_server_name_s ngx_http_server_name_t; |
286 | |
287 | |
288 typedef struct { | |
289 ngx_hash_combined_t names; | |
290 | |
291 ngx_uint_t nregex; | |
292 ngx_http_server_name_t *regex; | |
293 } ngx_http_virtual_names_t; | |
593 | 294 |
295 | |
569 | 296 typedef void (*ngx_http_cleanup_pt)(void *data); |
297 | |
298 typedef struct ngx_http_cleanup_s ngx_http_cleanup_t; | |
299 | |
300 struct ngx_http_cleanup_s { | |
593 | 301 ngx_http_cleanup_pt handler; |
302 void *data; | |
303 ngx_http_cleanup_t *next; | |
569 | 304 }; |
305 | |
306 | |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
307 typedef ngx_int_t (*ngx_http_post_subrequest_pt)(ngx_http_request_t *r, |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
308 void *data, ngx_int_t rc); |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
309 |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
310 typedef struct { |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
311 ngx_http_post_subrequest_pt handler; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
312 void *data; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
313 } ngx_http_post_subrequest_t; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
314 |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
315 |
509 | 316 typedef struct ngx_http_postponed_request_s ngx_http_postponed_request_t; |
317 | |
318 struct ngx_http_postponed_request_s { | |
535 | 319 ngx_http_request_t *request; |
320 ngx_chain_t *out; | |
321 ngx_http_postponed_request_t *next; | |
509 | 322 }; |
323 | |
324 | |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
325 typedef struct ngx_http_posted_request_s ngx_http_posted_request_t; |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
326 |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
327 struct ngx_http_posted_request_s { |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
328 ngx_http_request_t *request; |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
329 ngx_http_posted_request_t *next; |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
330 }; |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
331 |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
332 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
333 typedef ngx_int_t (*ngx_http_handler_pt)(ngx_http_request_t *r); |
509 | 334 typedef void (*ngx_http_event_handler_pt)(ngx_http_request_t *r); |
335 | |
143
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
141
diff
changeset
|
336 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
337 struct ngx_http_request_s { |
501 | 338 uint32_t signature; /* "HTTP" */ |
367
ceec87d1c2b3
nginx-0.0.7-2004-06-24-11:53:37 import
Igor Sysoev <igor@sysoev.ru>
parents:
362
diff
changeset
|
339 |
501 | 340 ngx_connection_t *connection; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
341 |
501 | 342 void **ctx; |
343 void **main_conf; | |
344 void **srv_conf; | |
345 void **loc_conf; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
346 |
509 | 347 ngx_http_event_handler_pt read_event_handler; |
348 ngx_http_event_handler_pt write_event_handler; | |
349 | |
501 | 350 ngx_http_cache_t *cache; |
197
0b81c7a0b133
nginx-0.0.1-2003-11-27-10:45:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
190
diff
changeset
|
351 |
501 | 352 ngx_http_upstream_t *upstream; |
1168
4d0d12446c3b
store the upstream states before X-Accel-Redirect to a next upstream
Igor Sysoev <igor@sysoev.ru>
parents:
1151
diff
changeset
|
353 ngx_array_t *upstream_states; |
4d0d12446c3b
store the upstream states before X-Accel-Redirect to a next upstream
Igor Sysoev <igor@sysoev.ru>
parents:
1151
diff
changeset
|
354 /* of ngx_http_upstream_state_t */ |
479 | 355 |
501 | 356 ngx_pool_t *pool; |
357 ngx_buf_t *header_in; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
358 |
501 | 359 ngx_http_headers_in_t headers_in; |
360 ngx_http_headers_out_t headers_out; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
361 |
501 | 362 ngx_http_request_body_t *request_body; |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
363 |
501 | 364 time_t lingering_time; |
1179
6e2216ad2c87
$request_time has millisecond precision
Igor Sysoev <igor@sysoev.ru>
parents:
1172
diff
changeset
|
365 time_t start_sec; |
6e2216ad2c87
$request_time has millisecond precision
Igor Sysoev <igor@sysoev.ru>
parents:
1172
diff
changeset
|
366 ngx_msec_t start_msec; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
367 |
501 | 368 ngx_uint_t method; |
369 ngx_uint_t http_version; | |
577 | 370 |
501 | 371 ngx_str_t request_line; |
372 ngx_str_t uri; | |
373 ngx_str_t args; | |
374 ngx_str_t exten; | |
375 ngx_str_t unparsed_uri; | |
314
d71c87d11b16
nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents:
313
diff
changeset
|
376 |
501 | 377 ngx_str_t method_name; |
378 ngx_str_t http_protocol; | |
577 | 379 |
509 | 380 ngx_chain_t *out; |
501 | 381 ngx_http_request_t *main; |
509 | 382 ngx_http_request_t *parent; |
383 ngx_http_postponed_request_t *postponed; | |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
384 ngx_http_post_subrequest_t *post_subrequest; |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
385 ngx_http_posted_request_t *posted_requests; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
386 |
501 | 387 uint32_t in_addr; |
388 ngx_uint_t port; | |
389 ngx_str_t *port_text; /* ":80" */ | |
593 | 390 ngx_http_virtual_names_t *virtual_names; |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
391 |
501 | 392 ngx_int_t phase_handler; |
393 ngx_http_handler_pt content_handler; | |
543 | 394 ngx_uint_t access_code; |
485 | 395 |
573 | 396 ngx_http_variable_value_t *variables; |
501 | 397 |
527 | 398 size_t limit_rate; |
399 | |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
400 /* used to learn the Apache compatible response length without a header */ |
501 | 401 size_t header_size; |
210
00cafae0bdf1
nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
201
diff
changeset
|
402 |
663 | 403 off_t request_length; |
475 | 404 |
501 | 405 ngx_uint_t err_status; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
406 |
501 | 407 ngx_http_connection_t *http_connection; |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
408 |
509 | 409 ngx_http_log_handler_pt log_handler; |
410 | |
569 | 411 ngx_http_cleanup_t *cleanup; |
412 | |
501 | 413 unsigned http_state:4; |
216
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
414 |
452 | 415 /* URI with "/." and on Win32 with "//" */ |
501 | 416 unsigned complex_uri:1; |
485 | 417 |
452 | 418 /* URI with "%" */ |
501 | 419 unsigned quoted_uri:1; |
485 | 420 |
421 /* URI with "+" */ | |
501 | 422 unsigned plus_in_uri:1; |
485 | 423 |
489 | 424 /* URI with "\0" or "%00" */ |
501 | 425 unsigned zero_in_uri:1; |
489 | 426 |
511 | 427 unsigned invalid_header:1; |
428 | |
509 | 429 unsigned valid_location:1; |
505 | 430 unsigned valid_unparsed_uri:1; |
501 | 431 unsigned uri_changed:1; |
432 unsigned uri_changes:4; | |
485 | 433 |
633 | 434 unsigned request_body_in_single_buf:1; |
435 unsigned request_body_in_file_only:1; | |
436 unsigned request_body_in_persistent_file:1; | |
1075
4d203f76b757
undo "client_body_in_file_only any"
Igor Sysoev <igor@sysoev.ru>
parents:
1059
diff
changeset
|
437 unsigned request_body_in_clean_file:1; |
633 | 438 unsigned request_body_file_group_access:1; |
637 | 439 unsigned request_body_file_log_level:3; |
633 | 440 |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
441 unsigned subrequest_in_memory:1; |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
442 unsigned waited:1; |
597 | 443 |
1790
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1654
diff
changeset
|
444 unsigned gzip:2; |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1654
diff
changeset
|
445 |
501 | 446 unsigned proxy:1; |
447 unsigned bypass_cache:1; | |
448 unsigned no_cache:1; | |
170
c42be4185301
nginx-0.0.1-2003-11-03-01:56:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
164
diff
changeset
|
449 |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
450 /* |
2294 | 451 * instead of using the request context data in |
2301
148c2e840c2b
style fix: remove trailing spaces
Igor Sysoev <igor@sysoev.ru>
parents:
2294
diff
changeset
|
452 * ngx_http_limit_zone_module and ngx_http_limit_req_module |
2294 | 453 * we use the single bits in the request structure |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
454 */ |
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
455 unsigned limit_zone_set:1; |
2294 | 456 unsigned limit_req_set:1; |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
457 |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
458 #if 0 |
1565 | 459 unsigned cacheable:1; |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
460 #endif |
509 | 461 |
501 | 462 unsigned pipeline:1; |
463 unsigned plain_http:1; | |
464 unsigned chunked:1; | |
465 unsigned header_only:1; | |
730
1be87cdd010f
set "Content-Length: 0" for errors handled by "return 204"
Igor Sysoev <igor@sysoev.ru>
parents:
681
diff
changeset
|
466 unsigned zero_body:1; |
501 | 467 unsigned keepalive:1; |
468 unsigned lingering_close:1; | |
537 | 469 unsigned discard_body:1; |
509 | 470 unsigned internal:1; |
679 | 471 unsigned error_page:1; |
629 | 472 unsigned post_action:1; |
473 unsigned request_complete:1; | |
667 | 474 unsigned request_output:1; |
475 unsigned header_sent:1; | |
2067 | 476 unsigned expect_tested:1; |
2087
c8039b26a949
always test root existence for access_log with variables
Igor Sysoev <igor@sysoev.ru>
parents:
2067
diff
changeset
|
477 unsigned root_tested:1; |
509 | 478 unsigned done:1; |
2265 | 479 unsigned logged:1; |
523 | 480 unsigned utf8:1; |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
481 |
829
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
482 unsigned buffered:4; |
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
483 |
513 | 484 unsigned main_filter_need_in_memory:1; |
501 | 485 unsigned filter_need_in_memory:1; |
486 unsigned filter_need_temporary:1; | |
581 | 487 unsigned allow_ranges:1; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
488 |
427
0d08eabe5c7b
nginx-0.0.10-2004-09-15-20:00:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
426
diff
changeset
|
489 #if (NGX_STAT_STUB) |
501 | 490 unsigned stat_reading:1; |
491 unsigned stat_writing:1; | |
427
0d08eabe5c7b
nginx-0.0.10-2004-09-15-20:00:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
426
diff
changeset
|
492 #endif |
0d08eabe5c7b
nginx-0.0.10-2004-09-15-20:00:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
426
diff
changeset
|
493 |
657 | 494 unsigned subrequests:8; |
495 | |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
496 /* used to parse HTTP headers */ |
772
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
497 |
501 | 498 ngx_uint_t state; |
499 u_char *uri_start; | |
500 u_char *uri_end; | |
501 u_char *uri_ext; | |
502 u_char *args_start; | |
503 u_char *request_start; | |
504 u_char *request_end; | |
505 u_char *method_end; | |
506 u_char *schema_start; | |
507 u_char *schema_end; | |
508 u_char *host_start; | |
509 u_char *host_end; | |
510 u_char *port_start; | |
511 u_char *port_end; | |
512 u_char *header_name_start; | |
513 u_char *header_name_end; | |
514 u_char *header_start; | |
515 u_char *header_end; | |
649 | 516 |
772
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
517 unsigned http_minor:16; |
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
518 unsigned http_major:16; |
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
519 |
507 | 520 ngx_uint_t header_hash; |
649 | 521 ngx_uint_t lowcase_index; |
522 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
523 }; |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
524 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
525 |
569 | 526 extern ngx_http_header_t ngx_http_headers_in[]; |
527 extern ngx_http_header_out_t ngx_http_headers_out[]; | |
164
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
528 |
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
529 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
530 #endif /* _NGX_HTTP_REQUEST_H_INCLUDED_ */ |