comparison src/http/ngx_http_request.h @ 3064:23e6f26fb4bd

*) ngx_http_ephemeral *) use preallocated terminal_posted_request
author Igor Sysoev <igor@sysoev.ru>
date Sun, 30 Aug 2009 09:47:11 +0000
parents 6060225e9261
children 113cd532b328
comparison
equal deleted inserted replaced
3063:6f6d7ea70805 3064:23e6f26fb4bd
508 #endif 508 #endif
509 509
510 /* used to parse HTTP headers */ 510 /* used to parse HTTP headers */
511 511
512 ngx_uint_t state; 512 ngx_uint_t state;
513
514 ngx_uint_t header_hash;
515 ngx_uint_t lowcase_index;
516 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
517
518 u_char *header_name_start;
519 u_char *header_name_end;
520 u_char *header_start;
521 u_char *header_end;
522
523 /*
524 * a memory that can be reused after parsing a request line
525 * via ngx_http_ephemeral_t
526 */
527
513 u_char *uri_start; 528 u_char *uri_start;
514 u_char *uri_end; 529 u_char *uri_end;
515 u_char *uri_ext; 530 u_char *uri_ext;
516 u_char *args_start; 531 u_char *args_start;
517 u_char *request_start; 532 u_char *request_start;
521 u_char *schema_end; 536 u_char *schema_end;
522 u_char *host_start; 537 u_char *host_start;
523 u_char *host_end; 538 u_char *host_end;
524 u_char *port_start; 539 u_char *port_start;
525 u_char *port_end; 540 u_char *port_end;
526 u_char *header_name_start;
527 u_char *header_name_end;
528 u_char *header_start;
529 u_char *header_end;
530 541
531 unsigned http_minor:16; 542 unsigned http_minor:16;
532 unsigned http_major:16; 543 unsigned http_major:16;
533
534 ngx_uint_t header_hash;
535 ngx_uint_t lowcase_index;
536 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
537 }; 544 };
545
546
547 typedef struct {
548 ngx_http_posted_request_t terminal_posted_request;
549 } ngx_http_ephemeral_t;
538 550
539 551
540 extern ngx_http_header_t ngx_http_headers_in[]; 552 extern ngx_http_header_t ngx_http_headers_in[];
541 extern ngx_http_header_out_t ngx_http_headers_out[]; 553 extern ngx_http_header_out_t ngx_http_headers_out[];
542 554