diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-08-30 09:47:11 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-08-30 09:47:11 +0000 |
commit | ddda411d146607ec6cd61fcbb3fff95340a28df2 (patch) | |
tree | e5f20c9cb3103abd0d297b3be1cccff61349028d /src/http/ngx_http_request.h | |
parent | 8c491a77bc297906fb76d4c661547161a0a425be (diff) | |
download | nginx-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.h | 28 |
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[]; |