Mercurial > hg > nginx-quic
annotate src/http/ngx_http_request.h @ 8066:97da6521657c quic
QUIC: send STOP_SENDING on stream closure.
The frame is sent for a read-enabled stream which has not received a FIN or
RESET_STREAM.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 25 Aug 2020 14:07:26 +0300 |
parents | 0d2b2664b41c |
children | 9dce2978e4fd |
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 |
4412 | 4 * Copyright (C) Nginx, Inc. |
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
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 |
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
|
7 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #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
|
9 #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
|
10 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
651 | 12 #define NGX_HTTP_MAX_URI_CHANGES 10 |
6239
281863981d0b
Decreased the NGX_HTTP_MAX_SUBREQUESTS limit.
Valentin Bartenev <vbart@nginx.com>
parents:
6238
diff
changeset
|
13 #define NGX_HTTP_MAX_SUBREQUESTS 50 |
509 | 14 |
649 | 15 /* must be 2^n */ |
16 #define NGX_HTTP_LC_HEADER_LEN 32 | |
17 | |
509 | 18 |
436
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_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
|
20 #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
|
21 |
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
22 |
290
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_9 9 |
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_10 1000 |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
25 #define NGX_HTTP_VERSION_11 1001 |
6246
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6239
diff
changeset
|
26 #define NGX_HTTP_VERSION_20 2000 |
7681 | 27 #define NGX_HTTP_VERSION_30 3000 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
28 |
633 | 29 #define NGX_HTTP_UNKNOWN 0x0001 |
30 #define NGX_HTTP_GET 0x0002 | |
31 #define NGX_HTTP_HEAD 0x0004 | |
32 #define NGX_HTTP_POST 0x0008 | |
33 #define NGX_HTTP_PUT 0x0010 | |
34 #define NGX_HTTP_DELETE 0x0020 | |
637 | 35 #define NGX_HTTP_MKCOL 0x0040 |
844 | 36 #define NGX_HTTP_COPY 0x0080 |
37 #define NGX_HTTP_MOVE 0x0100 | |
38 #define NGX_HTTP_OPTIONS 0x0200 | |
39 #define NGX_HTTP_PROPFIND 0x0400 | |
40 #define NGX_HTTP_PROPPATCH 0x0800 | |
41 #define NGX_HTTP_LOCK 0x1000 | |
42 #define NGX_HTTP_UNLOCK 0x2000 | |
3613 | 43 #define NGX_HTTP_PATCH 0x4000 |
44 #define NGX_HTTP_TRACE 0x8000 | |
91
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_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
|
47 #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
|
48 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
49 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
50 #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
|
51 |
656d468f4ead
nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
136
diff
changeset
|
52 |
290
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_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
|
54 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
287
diff
changeset
|
55 #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
|
56 #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
|
57 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 |
6993
8801ff7d58e1
Don't pretend we support HTTP major versions >1 as HTTP/1.1.
Ruslan Ermilov <ru@nginx.com>
parents:
6977
diff
changeset
|
58 #define NGX_HTTP_PARSE_INVALID_VERSION 12 |
8801ff7d58e1
Don't pretend we support HTTP major versions >1 as HTTP/1.1.
Ruslan Ermilov <ru@nginx.com>
parents:
6977
diff
changeset
|
59 #define NGX_HTTP_PARSE_INVALID_09_METHOD 13 |
160
e7e094d34162
nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents:
155
diff
changeset
|
60 |
6993
8801ff7d58e1
Don't pretend we support HTTP major versions >1 as HTTP/1.1.
Ruslan Ermilov <ru@nginx.com>
parents:
6977
diff
changeset
|
61 #define NGX_HTTP_PARSE_INVALID_HEADER 14 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
62 |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
63 |
3527 | 64 /* unused 1 */ |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
65 #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
|
66 #define NGX_HTTP_SUBREQUEST_WAITED 4 |
6906
1aeaae6e9446
Upstream: proxy_cache_background_update and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6735
diff
changeset
|
67 #define NGX_HTTP_SUBREQUEST_CLONE 8 |
7006
9552758a786e
Background subrequests for cache updates.
Roman Arutyunyan <arut@nginx.com>
parents:
6993
diff
changeset
|
68 #define NGX_HTTP_SUBREQUEST_BACKGROUND 16 |
6906
1aeaae6e9446
Upstream: proxy_cache_background_update and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6735
diff
changeset
|
69 |
1aeaae6e9446
Upstream: proxy_cache_background_update and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6735
diff
changeset
|
70 #define NGX_HTTP_LOG_UNSAFE 1 |
573 | 71 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
72 |
5072
7fa7e60a7f66
Proxy: support for connection upgrade (101 Switching Protocols).
Maxim Dounin <mdounin@mdounin.ru>
parents:
4930
diff
changeset
|
73 #define NGX_HTTP_CONTINUE 100 |
7fa7e60a7f66
Proxy: support for connection upgrade (101 Switching Protocols).
Maxim Dounin <mdounin@mdounin.ru>
parents:
4930
diff
changeset
|
74 #define NGX_HTTP_SWITCHING_PROTOCOLS 101 |
7fa7e60a7f66
Proxy: support for connection upgrade (101 Switching Protocols).
Maxim Dounin <mdounin@mdounin.ru>
parents:
4930
diff
changeset
|
75 #define NGX_HTTP_PROCESSING 102 |
7fa7e60a7f66
Proxy: support for connection upgrade (101 Switching Protocols).
Maxim Dounin <mdounin@mdounin.ru>
parents:
4930
diff
changeset
|
76 |
162
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_OK 200 |
633 | 78 #define NGX_HTTP_CREATED 201 |
3604 | 79 #define NGX_HTTP_ACCEPTED 202 |
511 | 80 #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
|
81 #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
|
82 |
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_SPECIAL_RESPONSE 300 |
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_MOVED_PERMANENTLY 301 |
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
85 #define NGX_HTTP_MOVED_TEMPORARILY 302 |
3631 | 86 #define NGX_HTTP_SEE_OTHER 303 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
87 #define NGX_HTTP_NOT_MODIFIED 304 |
4491
d11f86a16e3b
Added support for the 307 Temporary Redirect.
Ruslan Ermilov <ru@nginx.com>
parents:
4457
diff
changeset
|
88 #define NGX_HTTP_TEMPORARY_REDIRECT 307 |
6977
be5cfa918bfc
Added support for the "308 Permanent Redirect" (ticket #877).
Simon Leblanc <contact@leblanc-simon.eu>
parents:
6965
diff
changeset
|
89 #define NGX_HTTP_PERMANENT_REDIRECT 308 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
90 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
91 #define NGX_HTTP_BAD_REQUEST 400 |
503 | 92 #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
|
93 #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
|
94 #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
|
95 #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
|
96 #define NGX_HTTP_REQUEST_TIME_OUT 408 |
637 | 97 #define NGX_HTTP_CONFLICT 409 |
581 | 98 #define NGX_HTTP_LENGTH_REQUIRED 411 |
1057 | 99 #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
|
100 #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
|
101 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 |
637 | 102 #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
|
103 #define NGX_HTTP_RANGE_NOT_SATISFIABLE 416 |
6556
654d2dae97d3
HTTP/2: the "421 Misdirected Request" response (closes #848).
Valentin Bartenev <vbart@nginx.com>
parents:
6538
diff
changeset
|
104 #define NGX_HTTP_MISDIRECTED_REQUEST 421 |
6965
3ef4cadfad7f
Added support for "429 Too Many Requests" response (RFC6585).
Piotr Sikora <piotrsikora@google.com>
parents:
6926
diff
changeset
|
105 #define NGX_HTTP_TOO_MANY_REQUESTS 429 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
106 |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
107 |
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
108 /* 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
|
109 |
587 | 110 /* The special code to close connection without any response */ |
111 #define NGX_HTTP_CLOSE 444 | |
112 | |
3848
de59ad6bf557
introduce 494 code "Request Header Too Large"
Igor Sysoev <igor@sysoev.ru>
parents:
3845
diff
changeset
|
113 #define NGX_HTTP_NGINX_CODES 494 |
de59ad6bf557
introduce 494 code "Request Header Too Large"
Igor Sysoev <igor@sysoev.ru>
parents:
3845
diff
changeset
|
114 |
de59ad6bf557
introduce 494 code "Request Header Too Large"
Igor Sysoev <igor@sysoev.ru>
parents:
3845
diff
changeset
|
115 #define NGX_HTTP_REQUEST_HEADER_TOO_LARGE 494 |
647 | 116 |
117 #define NGX_HTTPS_CERT_ERROR 495 | |
118 #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
|
119 |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
120 /* |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
121 * We use the special code for the plain HTTP requests that are sent to |
577 | 122 * 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
|
123 */ |
e7054aaedf68
nginx-0.0.7-2004-07-09-11:12:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
367
diff
changeset
|
124 #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
|
125 |
613 | 126 /* 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
|
127 |
189
c966c09be66b
nginx-0.0.1-2003-11-18-19:49:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
179
diff
changeset
|
128 /* |
232
03c54b6d7a6f
nginx-0.0.1-2004-01-19-00:09:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
216
diff
changeset
|
129 * 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
|
130 * 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
|
131 * 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
|
132 * 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
|
133 */ |
190
02a715e85df1
nginx-0.0.1-2003-11-19-00:34:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
189
diff
changeset
|
134 #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
|
135 |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
315
diff
changeset
|
136 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
160
diff
changeset
|
137 #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
|
138 #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
|
139 #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
|
140 #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
|
141 #define NGX_HTTP_GATEWAY_TIME_OUT 504 |
6993
8801ff7d58e1
Don't pretend we support HTTP major versions >1 as HTTP/1.1.
Ruslan Ermilov <ru@nginx.com>
parents:
6977
diff
changeset
|
142 #define NGX_HTTP_VERSION_NOT_SUPPORTED 505 |
637 | 143 #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
|
144 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
145 |
829
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
146 #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
|
147 #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
|
148 #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
|
149 #define NGX_HTTP_SSI_BUFFERED 0x01 |
1172 | 150 #define NGX_HTTP_SUB_BUFFERED 0x02 |
151 #define NGX_HTTP_COPY_BUFFERED 0x04 | |
597 | 152 |
153 | |
216
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
154 typedef enum { |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
155 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
|
156 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
|
157 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
|
158 |
216
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
159 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
|
160 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
|
161 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
|
162 |
f1d0e5f09c1e
nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
210
diff
changeset
|
163 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
|
164 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
|
165 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
|
166 } 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
|
167 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
168 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
169 typedef struct { |
501 | 170 ngx_str_t name; |
171 ngx_uint_t offset; | |
509 | 172 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
|
173 } ngx_http_header_t; |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
174 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
175 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
176 typedef struct { |
509 | 177 ngx_str_t name; |
178 ngx_uint_t offset; | |
569 | 179 } ngx_http_header_out_t; |
509 | 180 |
181 | |
182 typedef struct { | |
501 | 183 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
|
184 |
501 | 185 ngx_table_elt_t *host; |
186 ngx_table_elt_t *connection; | |
187 ngx_table_elt_t *if_modified_since; | |
3814
e6e453203bae
"If-Unmodified-Since" support
Igor Sysoev <igor@sysoev.ru>
parents:
3663
diff
changeset
|
188 ngx_table_elt_t *if_unmodified_since; |
4744
5b93a9ac60ed
Entity tags: basic support in not modified filter.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4697
diff
changeset
|
189 ngx_table_elt_t *if_match; |
5b93a9ac60ed
Entity tags: basic support in not modified filter.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4697
diff
changeset
|
190 ngx_table_elt_t *if_none_match; |
501 | 191 ngx_table_elt_t *user_agent; |
192 ngx_table_elt_t *referer; | |
193 ngx_table_elt_t *content_length; | |
6538
055cbb52ac1d
Dav: return 501 on PUT with ranges (ticket #948).
Maxim Dounin <mdounin@mdounin.ru>
parents:
6496
diff
changeset
|
194 ngx_table_elt_t *content_range; |
501 | 195 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
|
196 |
501 | 197 ngx_table_elt_t *range; |
1630 | 198 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
|
199 |
581 | 200 ngx_table_elt_t *transfer_encoding; |
7234
c693daca57f7
gRPC: special handling of the TE request header.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7206
diff
changeset
|
201 ngx_table_elt_t *te; |
2067 | 202 ngx_table_elt_t *expect; |
5072
7fa7e60a7f66
Proxy: support for connection upgrade (101 Switching Protocols).
Maxim Dounin <mdounin@mdounin.ru>
parents:
4930
diff
changeset
|
203 ngx_table_elt_t *upgrade; |
581 | 204 |
7206
33edea74bd58
Expose more headers with NGX_HTTP_HEADERS.
Ruslan Ermilov <ru@nginx.com>
parents:
7199
diff
changeset
|
205 #if (NGX_HTTP_GZIP || NGX_HTTP_HEADERS) |
501 | 206 ngx_table_elt_t *accept_encoding; |
207 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
|
208 #endif |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
209 |
501 | 210 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
|
211 |
501 | 212 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
|
213 |
4697
09187f9b0950
Fixed compile-time conditionals used to detect if X-Forwarded-For support
Ruslan Ermilov <ru@nginx.com>
parents:
4501
diff
changeset
|
214 #if (NGX_HTTP_X_FORWARDED_FOR) |
5084
f7fe817c92a2
Correctly handle multiple X-Forwarded-For headers (ticket #106).
Ruslan Ermilov <ru@nginx.com>
parents:
5072
diff
changeset
|
215 ngx_array_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
|
216 #endif |
35a6a9df2d25
nginx-0.0.2-2004-03-12-19:57:08 import
Igor Sysoev <igor@sysoev.ru>
parents:
232
diff
changeset
|
217 |
573 | 218 #if (NGX_HTTP_REALIP) |
219 ngx_table_elt_t *x_real_ip; | |
220 #endif | |
221 | |
489 | 222 #if (NGX_HTTP_HEADERS) |
501 | 223 ngx_table_elt_t *accept; |
224 ngx_table_elt_t *accept_language; | |
489 | 225 #endif |
226 | |
637 | 227 #if (NGX_HTTP_DAV) |
228 ngx_table_elt_t *depth; | |
229 ngx_table_elt_t *destination; | |
1059 | 230 ngx_table_elt_t *overwrite; |
681 | 231 ngx_table_elt_t *date; |
637 | 232 #endif |
233 | |
503 | 234 ngx_str_t user; |
235 ngx_str_t passwd; | |
236 | |
501 | 237 ngx_array_t cookies; |
238 | |
2007
b9de93d804ea
*) host in request line has priority
Igor Sysoev <igor@sysoev.ru>
parents:
1856
diff
changeset
|
239 ngx_str_t server; |
663 | 240 off_t content_length_n; |
501 | 241 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
|
242 |
501 | 243 unsigned connection_type:2; |
4930
6f085bfcdb4d
Request body: chunked transfer encoding support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4744
diff
changeset
|
244 unsigned chunked:1; |
501 | 245 unsigned msie:1; |
2205 | 246 unsigned msie6:1; |
501 | 247 unsigned opera:1; |
248 unsigned gecko:1; | |
3315 | 249 unsigned chrome:1; |
3419
fcd72b8d69f3
disable keepalive for Safari:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
250 unsigned safari:1; |
501 | 251 unsigned konqueror:1; |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
252 } 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
|
253 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
254 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
255 typedef struct { |
501 | 256 ngx_list_t headers; |
7034
1b068a4e82d8
Added support for trailers in HTTP responses.
Piotr Sikora <piotrsikora@google.com>
parents:
7006
diff
changeset
|
257 ngx_list_t trailers; |
164
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
258 |
501 | 259 ngx_uint_t status; |
260 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
|
261 |
501 | 262 ngx_table_elt_t *server; |
263 ngx_table_elt_t *date; | |
264 ngx_table_elt_t *content_length; | |
265 ngx_table_elt_t *content_encoding; | |
266 ngx_table_elt_t *location; | |
1654 | 267 ngx_table_elt_t *refresh; |
501 | 268 ngx_table_elt_t *last_modified; |
269 ngx_table_elt_t *content_range; | |
270 ngx_table_elt_t *accept_ranges; | |
503 | 271 ngx_table_elt_t *www_authenticate; |
501 | 272 ngx_table_elt_t *expires; |
273 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
|
274 |
657 | 275 ngx_str_t *override_charset; |
276 | |
277 size_t content_type_len; | |
509 | 278 ngx_str_t content_type; |
501 | 279 ngx_str_t charset; |
2138 | 280 u_char *content_type_lowcase; |
281 ngx_uint_t content_type_hash; | |
657 | 282 |
509 | 283 ngx_array_t cache_control; |
7199
6ba68ad8b24c
Basic support of the Link response header.
Ruslan Ermilov <ru@nginx.com>
parents:
7070
diff
changeset
|
284 ngx_array_t link; |
509 | 285 |
501 | 286 off_t content_length_n; |
6317 | 287 off_t content_offset; |
501 | 288 time_t date_time; |
289 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
|
290 } 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
|
291 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
292 |
479 | 293 typedef void (*ngx_http_client_body_handler_pt)(ngx_http_request_t *r); |
294 | |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
295 typedef struct { |
479 | 296 ngx_temp_file_t *temp_file; |
297 ngx_chain_t *bufs; | |
298 ngx_buf_t *buf; | |
663 | 299 off_t rest; |
6496
887cca40ba6a
HTTP/2: rewritten handling of request body.
Valentin Bartenev <vbart@nginx.com>
parents:
6317
diff
changeset
|
300 off_t received; |
4930
6f085bfcdb4d
Request body: chunked transfer encoding support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4744
diff
changeset
|
301 ngx_chain_t *free; |
6f085bfcdb4d
Request body: chunked transfer encoding support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4744
diff
changeset
|
302 ngx_chain_t *busy; |
6f085bfcdb4d
Request body: chunked transfer encoding support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4744
diff
changeset
|
303 ngx_http_chunked_t *chunked; |
479 | 304 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
|
305 } 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
|
306 |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
307 |
5085
7f1cbcc71327
The default server lookup is now done only once per connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5084
diff
changeset
|
308 typedef struct ngx_http_addr_conf_s ngx_http_addr_conf_t; |
7f1cbcc71327
The default server lookup is now done only once per connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5084
diff
changeset
|
309 |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
310 typedef struct { |
5085
7f1cbcc71327
The default server lookup is now done only once per connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5084
diff
changeset
|
311 ngx_http_addr_conf_t *addr_conf; |
5089
903f2a5d86a5
SNI: reuse selected configuration for all requests in a connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5086
diff
changeset
|
312 ngx_http_conf_ctx_t *conf_ctx; |
5085
7f1cbcc71327
The default server lookup is now done only once per connection.
Valentin Bartenev <vbart@nginx.com>
parents:
5084
diff
changeset
|
313 |
6735
e38e9c50a40e
Modules compatibility: compatibility with NGX_HTTP_SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6718
diff
changeset
|
314 #if (NGX_HTTP_SSL || NGX_COMPAT) |
5093
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
315 ngx_str_t *ssl_servername; |
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
316 #if (NGX_PCRE) |
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
317 ngx_http_regex_t *ssl_servername_regex; |
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
318 #endif |
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
319 #endif |
68ca3e824115
SNI: avoid surplus lookup of virtual server if SNI was used.
Valentin Bartenev <vbart@nginx.com>
parents:
5091
diff
changeset
|
320 |
6926
e662cbf1b932
Converted hc->busy/hc->free to use chain links.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6906
diff
changeset
|
321 ngx_chain_t *busy; |
501 | 322 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
|
323 |
6926
e662cbf1b932
Converted hc->busy/hc->free to use chain links.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6906
diff
changeset
|
324 ngx_chain_t *free; |
433
9a97dcdd2421
nginx-0.0.11-2004-09-21-19:47:05 import
Igor Sysoev <igor@sysoev.ru>
parents:
432
diff
changeset
|
325 |
5605
3a72b1805c52
Added server-side support for PROXY protocol v1 (ticket #355).
Roman Arutyunyan <arut@nginx.com>
parents:
5254
diff
changeset
|
326 unsigned ssl:1; |
3a72b1805c52
Added server-side support for PROXY protocol v1 (ticket #355).
Roman Arutyunyan <arut@nginx.com>
parents:
5254
diff
changeset
|
327 unsigned proxy_protocol:1; |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
328 } 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
|
329 |
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
330 |
569 | 331 typedef void (*ngx_http_cleanup_pt)(void *data); |
332 | |
333 typedef struct ngx_http_cleanup_s ngx_http_cleanup_t; | |
334 | |
335 struct ngx_http_cleanup_s { | |
593 | 336 ngx_http_cleanup_pt handler; |
337 void *data; | |
338 ngx_http_cleanup_t *next; | |
569 | 339 }; |
340 | |
341 | |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
342 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
|
343 void *data, ngx_int_t rc); |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
344 |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
345 typedef struct { |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
346 ngx_http_post_subrequest_pt handler; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
347 void *data; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
348 } ngx_http_post_subrequest_t; |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
349 |
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
350 |
509 | 351 typedef struct ngx_http_postponed_request_s ngx_http_postponed_request_t; |
352 | |
353 struct ngx_http_postponed_request_s { | |
535 | 354 ngx_http_request_t *request; |
355 ngx_chain_t *out; | |
356 ngx_http_postponed_request_t *next; | |
509 | 357 }; |
358 | |
359 | |
2377
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
360 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
|
361 |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
362 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
|
363 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
|
364 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
|
365 }; |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
366 |
87b8c44906b5
*) refactor subrequest handling, now they run as separate posted requests
Igor Sysoev <igor@sysoev.ru>
parents:
2301
diff
changeset
|
367 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
368 typedef ngx_int_t (*ngx_http_handler_pt)(ngx_http_request_t *r); |
509 | 369 typedef void (*ngx_http_event_handler_pt)(ngx_http_request_t *r); |
370 | |
143
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
141
diff
changeset
|
371 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
372 struct ngx_http_request_s { |
501 | 373 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
|
374 |
501 | 375 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
|
376 |
501 | 377 void **ctx; |
378 void **main_conf; | |
379 void **srv_conf; | |
380 void **loc_conf; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
381 |
509 | 382 ngx_http_event_handler_pt read_event_handler; |
383 ngx_http_event_handler_pt write_event_handler; | |
384 | |
2592
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
385 #if (NGX_HTTP_CACHE) |
501 | 386 ngx_http_cache_t *cache; |
2592
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
387 #endif |
197
0b81c7a0b133
nginx-0.0.1-2003-11-27-10:45:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
190
diff
changeset
|
388 |
501 | 389 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
|
390 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
|
391 /* of ngx_http_upstream_state_t */ |
479 | 392 |
501 | 393 ngx_pool_t *pool; |
394 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
|
395 |
501 | 396 ngx_http_headers_in_t headers_in; |
397 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
|
398 |
501 | 399 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
|
400 |
501 | 401 time_t lingering_time; |
1179
6e2216ad2c87
$request_time has millisecond precision
Igor Sysoev <igor@sysoev.ru>
parents:
1172
diff
changeset
|
402 time_t start_sec; |
6e2216ad2c87
$request_time has millisecond precision
Igor Sysoev <igor@sysoev.ru>
parents:
1172
diff
changeset
|
403 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
|
404 |
501 | 405 ngx_uint_t method; |
406 ngx_uint_t http_version; | |
577 | 407 |
501 | 408 ngx_str_t request_line; |
409 ngx_str_t uri; | |
410 ngx_str_t args; | |
411 ngx_str_t exten; | |
412 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
|
413 |
501 | 414 ngx_str_t method_name; |
415 ngx_str_t http_protocol; | |
7295 | 416 ngx_str_t schema; |
577 | 417 |
509 | 418 ngx_chain_t *out; |
501 | 419 ngx_http_request_t *main; |
509 | 420 ngx_http_request_t *parent; |
421 ngx_http_postponed_request_t *postponed; | |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
422 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
|
423 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
|
424 |
501 | 425 ngx_int_t phase_handler; |
426 ngx_http_handler_pt content_handler; | |
543 | 427 ngx_uint_t access_code; |
485 | 428 |
573 | 429 ngx_http_variable_value_t *variables; |
501 | 430 |
2547
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
431 #if (NGX_PCRE) |
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
432 ngx_uint_t ncaptures; |
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
433 int *captures; |
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
434 u_char *captures_data; |
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
435 #endif |
912ce4113f21
now regex captures are per-request entities
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
436 |
527 | 437 size_t limit_rate; |
5201
06fbbde04098
Added r->limit_rate_after.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5200
diff
changeset
|
438 size_t limit_rate_after; |
527 | 439 |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
296
diff
changeset
|
440 /* used to learn the Apache compatible response length without a header */ |
501 | 441 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
|
442 |
663 | 443 off_t request_length; |
475 | 444 |
501 | 445 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
|
446 |
501 | 447 ngx_http_connection_t *http_connection; |
6246
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6239
diff
changeset
|
448 ngx_http_v2_stream_t *stream; |
432
11362a3e3911
nginx-0.0.11-2004-09-21-09:38:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
449 |
509 | 450 ngx_http_log_handler_pt log_handler; |
451 | |
569 | 452 ngx_http_cleanup_t *cleanup; |
453 | |
6238
8c6e71722aff
Added protection against r->main->count overflow by subrequests.
Valentin Bartenev <vbart@nginx.com>
parents:
6129
diff
changeset
|
454 unsigned count:16; |
3052
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
3049
diff
changeset
|
455 unsigned subrequests:8; |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
3049
diff
changeset
|
456 unsigned blocked:8; |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
3049
diff
changeset
|
457 |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
3049
diff
changeset
|
458 unsigned aio:1; |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
3049
diff
changeset
|
459 |
501 | 460 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
|
461 |
452 | 462 /* URI with "/." and on Win32 with "//" */ |
501 | 463 unsigned complex_uri:1; |
485 | 464 |
452 | 465 /* URI with "%" */ |
501 | 466 unsigned quoted_uri:1; |
485 | 467 |
468 /* URI with "+" */ | |
501 | 469 unsigned plus_in_uri:1; |
485 | 470 |
3615 | 471 /* URI with " " */ |
472 unsigned space_in_uri:1; | |
473 | |
511 | 474 unsigned invalid_header:1; |
475 | |
3534
3711bb1336c3
fix a try_files/alias case when alias uses captures and
Igor Sysoev <igor@sysoev.ru>
parents:
3527
diff
changeset
|
476 unsigned add_uri_to_alias:1; |
509 | 477 unsigned valid_location:1; |
505 | 478 unsigned valid_unparsed_uri:1; |
501 | 479 unsigned uri_changed:1; |
480 unsigned uri_changes:4; | |
485 | 481 |
633 | 482 unsigned request_body_in_single_buf:1; |
483 unsigned request_body_in_file_only:1; | |
484 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
|
485 unsigned request_body_in_clean_file:1; |
633 | 486 unsigned request_body_file_group_access:1; |
637 | 487 unsigned request_body_file_log_level:3; |
6050
a08fad30aeac
Request body: unbuffered reading.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6002
diff
changeset
|
488 unsigned request_body_no_buffering:1; |
633 | 489 |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
490 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
|
491 unsigned waited:1; |
597 | 492 |
2592
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
493 #if (NGX_HTTP_CACHE) |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
494 unsigned cached:1; |
3a8a53c0c42f
a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
495 #endif |
3313 | 496 |
497 #if (NGX_HTTP_GZIP) | |
498 unsigned gzip_tested:1; | |
499 unsigned gzip_ok:1; | |
500 unsigned gzip_vary:1; | |
501 #endif | |
1790
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1654
diff
changeset
|
502 |
7427
81d49f85afed
Copy regex unnamed captures to cloned subrequests.
Roman Arutyunyan <arut@nginx.com>
parents:
7295
diff
changeset
|
503 #if (NGX_PCRE) |
81d49f85afed
Copy regex unnamed captures to cloned subrequests.
Roman Arutyunyan <arut@nginx.com>
parents:
7295
diff
changeset
|
504 unsigned realloc_captures:1; |
81d49f85afed
Copy regex unnamed captures to cloned subrequests.
Roman Arutyunyan <arut@nginx.com>
parents:
7295
diff
changeset
|
505 #endif |
81d49f85afed
Copy regex unnamed captures to cloned subrequests.
Roman Arutyunyan <arut@nginx.com>
parents:
7295
diff
changeset
|
506 |
501 | 507 unsigned proxy:1; |
508 unsigned bypass_cache:1; | |
509 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
|
510 |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
511 /* |
2294 | 512 * instead of using the request context data in |
4457
50f463258eea
Fixed module name in comment. It was forgotten in r4281.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
513 * ngx_http_limit_conn_module and ngx_http_limit_req_module |
7593
e84fb4991d74
Updated comment after 776d1bebdca2.
Roman Arutyunyan <arut@nginx.com>
parents:
7592
diff
changeset
|
514 * we use the bit fields in the request structure |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
515 */ |
7595
9606d93aa586
Limit conn: $limit_conn_status variable.
Roman Arutyunyan <arut@nginx.com>
parents:
7593
diff
changeset
|
516 unsigned limit_conn_status:2; |
7592
776d1bebdca2
Limit req: $limit_req_status variable.
Roman Arutyunyan <arut@nginx.com>
parents:
7504
diff
changeset
|
517 unsigned limit_req_status:3; |
984
dd128232e6ba
count connection once per request
Igor Sysoev <igor@sysoev.ru>
parents:
963
diff
changeset
|
518 |
7504
c19ca381b2e6
Variables support in limit_rate and limit_rate_after (ticket #293).
Ruslan Ermilov <ru@nginx.com>
parents:
7427
diff
changeset
|
519 unsigned limit_rate_set:1; |
c19ca381b2e6
Variables support in limit_rate and limit_rate_after (ticket #293).
Ruslan Ermilov <ru@nginx.com>
parents:
7427
diff
changeset
|
520 unsigned limit_rate_after_set:1; |
c19ca381b2e6
Variables support in limit_rate and limit_rate_after (ticket #293).
Ruslan Ermilov <ru@nginx.com>
parents:
7427
diff
changeset
|
521 |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
522 #if 0 |
1565 | 523 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
|
524 #endif |
509 | 525 |
501 | 526 unsigned pipeline:1; |
527 unsigned chunked:1; | |
528 unsigned header_only:1; | |
7034
1b068a4e82d8
Added support for trailers in HTTP responses.
Piotr Sikora <piotrsikora@google.com>
parents:
7006
diff
changeset
|
529 unsigned expect_trailers:1; |
501 | 530 unsigned keepalive:1; |
531 unsigned lingering_close:1; | |
537 | 532 unsigned discard_body:1; |
6050
a08fad30aeac
Request body: unbuffered reading.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6002
diff
changeset
|
533 unsigned reading_body:1; |
509 | 534 unsigned internal:1; |
679 | 535 unsigned error_page:1; |
2819
43fe53832da7
handle big responses for "size" and "test" image_filters
Igor Sysoev <igor@sysoev.ru>
parents:
2689
diff
changeset
|
536 unsigned filter_finalize:1; |
629 | 537 unsigned post_action:1; |
538 unsigned request_complete:1; | |
667 | 539 unsigned request_output:1; |
540 unsigned header_sent:1; | |
2067 | 541 unsigned expect_tested:1; |
2087
c8039b26a949
always test root existence for access_log with variables
Igor Sysoev <igor@sysoev.ru>
parents:
2067
diff
changeset
|
542 unsigned root_tested:1; |
509 | 543 unsigned done:1; |
2265 | 544 unsigned logged:1; |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
545 |
829
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
546 unsigned buffered:4; |
362d156f0278
high level HTTP buffered flags should be on per-subrequest basis,
Igor Sysoev <igor@sysoev.ru>
parents:
777
diff
changeset
|
547 |
513 | 548 unsigned main_filter_need_in_memory:1; |
501 | 549 unsigned filter_need_in_memory:1; |
550 unsigned filter_need_temporary:1; | |
7070
f583559aadc7
Upstream: keep request body file from removal if requested.
Roman Arutyunyan <arut@nginx.com>
parents:
7034
diff
changeset
|
551 unsigned preserve_body:1; |
581 | 552 unsigned allow_ranges:1; |
6317 | 553 unsigned subrequest_ranges:1; |
5621
345e4fd4bb64
Range filter: single_range flag in request.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5605
diff
changeset
|
554 unsigned single_range:1; |
5735
5fb1e57c758a
Entity tags: explicit flag to skip not modified filter.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5702
diff
changeset
|
555 unsigned disable_not_modified:1; |
501 | 556 unsigned stat_reading:1; |
557 unsigned stat_writing:1; | |
6711
90a03b1dc4db
Modules compatibility: status fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6710
diff
changeset
|
558 unsigned stat_processing:1; |
427
0d08eabe5c7b
nginx-0.0.10-2004-09-15-20:00:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
426
diff
changeset
|
559 |
7006
9552758a786e
Background subrequests for cache updates.
Roman Arutyunyan <arut@nginx.com>
parents:
6993
diff
changeset
|
560 unsigned background:1; |
6710
3ab8736958cb
Modules compatibility: health check fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6698
diff
changeset
|
561 unsigned health_check:1; |
3ab8736958cb
Modules compatibility: health check fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6698
diff
changeset
|
562 |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
96
diff
changeset
|
563 /* used to parse HTTP headers */ |
772
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
564 |
501 | 565 ngx_uint_t state; |
3064 | 566 |
567 ngx_uint_t header_hash; | |
568 ngx_uint_t lowcase_index; | |
569 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; | |
570 | |
571 u_char *header_name_start; | |
572 u_char *header_name_end; | |
573 u_char *header_start; | |
574 u_char *header_end; | |
575 | |
576 /* | |
577 * a memory that can be reused after parsing a request line | |
578 * via ngx_http_ephemeral_t | |
579 */ | |
580 | |
7884
d6feece1288a
Fixed $request_length for HTTP/3.
Roman Arutyunyan <arut@nginx.com>
parents:
7692
diff
changeset
|
581 u_char *parse_start; |
501 | 582 u_char *uri_start; |
583 u_char *uri_end; | |
584 u_char *uri_ext; | |
585 u_char *args_start; | |
586 u_char *request_start; | |
587 u_char *request_end; | |
7681 | 588 u_char *method_start; |
501 | 589 u_char *method_end; |
590 u_char *schema_start; | |
591 u_char *schema_end; | |
592 u_char *host_start; | |
593 u_char *host_end; | |
594 u_char *port_start; | |
595 u_char *port_end; | |
649 | 596 |
7681 | 597 #if (NGX_HTTP_V3) |
7692
268f4389130d
Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
7681
diff
changeset
|
598 void *h3_parse; |
7681 | 599 #endif |
600 | |
772
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
601 unsigned http_minor:16; |
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
602 unsigned http_major:16; |
3064 | 603 }; |
772
843412b22ba2
compact r->http_minor and r->http_major
Igor Sysoev <igor@sysoev.ru>
parents:
730
diff
changeset
|
604 |
3064 | 605 |
606 typedef struct { | |
607 ngx_http_posted_request_t terminal_posted_request; | |
608 } ngx_http_ephemeral_t; | |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
609 |
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
610 |
6002
f8ee988cfe6d
Style: moved ngx_http_ephemeral() macro to ngx_http_request.h.
Ruslan Ermilov <ru@nginx.com>
parents:
5980
diff
changeset
|
611 #define ngx_http_ephemeral(r) (void *) (&r->uri_start) |
f8ee988cfe6d
Style: moved ngx_http_ephemeral() macro to ngx_http_request.h.
Ruslan Ermilov <ru@nginx.com>
parents:
5980
diff
changeset
|
612 |
f8ee988cfe6d
Style: moved ngx_http_ephemeral() macro to ngx_http_request.h.
Ruslan Ermilov <ru@nginx.com>
parents:
5980
diff
changeset
|
613 |
569 | 614 extern ngx_http_header_t ngx_http_headers_in[]; |
615 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
|
616 |
84036764e215
nginx-0.0.1-2003-10-29-11:30:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
617 |
5928
8dfee01ff0bd
Upstream: improved subrequest logging.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5735
diff
changeset
|
618 #define ngx_http_set_log_request(log, r) \ |
8dfee01ff0bd
Upstream: improved subrequest logging.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5735
diff
changeset
|
619 ((ngx_http_log_ctx_t *) log->data)->current_request = r |
8dfee01ff0bd
Upstream: improved subrequest logging.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5735
diff
changeset
|
620 |
8dfee01ff0bd
Upstream: improved subrequest logging.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5735
diff
changeset
|
621 |
91
637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
622 #endif /* _NGX_HTTP_REQUEST_H_INCLUDED_ */ |