aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-08-30 09:47:11 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-08-30 09:47:11 +0000
commitddda411d146607ec6cd61fcbb3fff95340a28df2 (patch)
treee5f20c9cb3103abd0d297b3be1cccff61349028d /src/http/ngx_http_request.h
parent8c491a77bc297906fb76d4c661547161a0a425be (diff)
downloadnginx-ddda411d146607ec6cd61fcbb3fff95340a28df2.tar.gz
nginx-ddda411d146607ec6cd61fcbb3fff95340a28df2.zip
*) ngx_http_ephemeral
*) use preallocated terminal_posted_request
Diffstat (limited to 'src/http/ngx_http_request.h')
-rw-r--r--src/http/ngx_http_request.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 52ac90c23..425737af0 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -510,6 +510,21 @@ struct ngx_http_request_s {
/* used to parse HTTP headers */
ngx_uint_t state;
+
+ ngx_uint_t header_hash;
+ ngx_uint_t lowcase_index;
+ u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
+
+ u_char *header_name_start;
+ u_char *header_name_end;
+ u_char *header_start;
+ u_char *header_end;
+
+ /*
+ * a memory that can be reused after parsing a request line
+ * via ngx_http_ephemeral_t
+ */
+
u_char *uri_start;
u_char *uri_end;
u_char *uri_ext;
@@ -523,20 +538,17 @@ struct ngx_http_request_s {
u_char *host_end;
u_char *port_start;
u_char *port_end;
- u_char *header_name_start;
- u_char *header_name_end;
- u_char *header_start;
- u_char *header_end;
unsigned http_minor:16;
unsigned http_major:16;
-
- ngx_uint_t header_hash;
- ngx_uint_t lowcase_index;
- u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
};
+typedef struct {
+ ngx_http_posted_request_t terminal_posted_request;
+} ngx_http_ephemeral_t;
+
+
extern ngx_http_header_t ngx_http_headers_in[];
extern ngx_http_header_out_t ngx_http_headers_out[];