Mercurial > hg > nginx-vendor-0-7
comparison src/http/ngx_http_request.h @ 248:acd2ec3541cb NGINX_0_4_9
nginx 0.4.9
*) Feature: the "set" parameter in the "include" SSI command.
*) Feature: the ngx_http_perl_module now tests the nginx.pm module
version.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 13 Oct 2006 00:00:00 +0400 |
parents | a528ae0fe909 |
children | f3ec44f4a53b |
comparison
equal
deleted
inserted
replaced
247:fcca101509a4 | 248:acd2ec3541cb |
---|---|
45 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 | 45 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 |
46 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12 | 46 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12 |
47 | 47 |
48 #define NGX_HTTP_PARSE_INVALID_HEADER 13 | 48 #define NGX_HTTP_PARSE_INVALID_HEADER 13 |
49 | 49 |
50 | |
50 #define NGX_HTTP_ZERO_IN_URI 1 | 51 #define NGX_HTTP_ZERO_IN_URI 1 |
52 #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2 | |
51 | 53 |
52 | 54 |
53 #define NGX_HTTP_OK 200 | 55 #define NGX_HTTP_OK 200 |
54 #define NGX_HTTP_CREATED 201 | 56 #define NGX_HTTP_CREATED 201 |
55 #define NGX_HTTP_NO_CONTENT 204 | 57 #define NGX_HTTP_NO_CONTENT 204 |
285 void *data; | 287 void *data; |
286 ngx_http_cleanup_t *next; | 288 ngx_http_cleanup_t *next; |
287 }; | 289 }; |
288 | 290 |
289 | 291 |
292 typedef ngx_int_t (*ngx_http_post_subrequest_pt)(ngx_http_request_t *r, | |
293 void *data, ngx_int_t rc); | |
294 | |
295 typedef struct { | |
296 ngx_http_post_subrequest_pt handler; | |
297 void *data; | |
298 } ngx_http_post_subrequest_t; | |
299 | |
300 | |
290 typedef struct ngx_http_postponed_request_s ngx_http_postponed_request_t; | 301 typedef struct ngx_http_postponed_request_s ngx_http_postponed_request_t; |
291 | 302 |
292 struct ngx_http_postponed_request_s { | 303 struct ngx_http_postponed_request_s { |
293 ngx_http_request_t *request; | 304 ngx_http_request_t *request; |
294 ngx_chain_t *out; | 305 ngx_chain_t *out; |
328 time_t lingering_time; | 339 time_t lingering_time; |
329 time_t start_time; | 340 time_t start_time; |
330 | 341 |
331 ngx_uint_t method; | 342 ngx_uint_t method; |
332 ngx_uint_t http_version; | 343 ngx_uint_t http_version; |
333 ngx_uint_t http_major; | |
334 ngx_uint_t http_minor; | |
335 | 344 |
336 ngx_str_t request_line; | 345 ngx_str_t request_line; |
337 ngx_str_t uri; | 346 ngx_str_t uri; |
338 ngx_str_t args; | 347 ngx_str_t args; |
339 ngx_str_t exten; | 348 ngx_str_t exten; |
344 | 353 |
345 ngx_chain_t *out; | 354 ngx_chain_t *out; |
346 ngx_http_request_t *main; | 355 ngx_http_request_t *main; |
347 ngx_http_request_t *parent; | 356 ngx_http_request_t *parent; |
348 ngx_http_postponed_request_t *postponed; | 357 ngx_http_postponed_request_t *postponed; |
358 ngx_http_post_subrequest_t *post_subrequest; | |
349 | 359 |
350 uint32_t in_addr; | 360 uint32_t in_addr; |
351 ngx_uint_t port; | 361 ngx_uint_t port; |
352 ngx_str_t *port_text; /* ":80" */ | 362 ngx_str_t *port_text; /* ":80" */ |
353 ngx_str_t server_name; | 363 ngx_str_t server_name; |
356 ngx_int_t phase_handler; | 366 ngx_int_t phase_handler; |
357 ngx_http_handler_pt content_handler; | 367 ngx_http_handler_pt content_handler; |
358 ngx_uint_t access_code; | 368 ngx_uint_t access_code; |
359 | 369 |
360 ngx_http_variable_value_t *variables; | 370 ngx_http_variable_value_t *variables; |
361 | |
362 size_t root_length; | |
363 | 371 |
364 size_t limit_rate; | 372 size_t limit_rate; |
365 | 373 |
366 /* used to learn the Apache compatible response length without a header */ | 374 /* used to learn the Apache compatible response length without a header */ |
367 size_t header_size; | 375 size_t header_size; |
403 unsigned request_body_delete_incomplete_file:1; | 411 unsigned request_body_delete_incomplete_file:1; |
404 unsigned request_body_file_group_access:1; | 412 unsigned request_body_file_group_access:1; |
405 unsigned request_body_file_log_level:3; | 413 unsigned request_body_file_log_level:3; |
406 | 414 |
407 unsigned fast_subrequest:1; | 415 unsigned fast_subrequest:1; |
416 unsigned subrequest_in_memory:1; | |
408 | 417 |
409 unsigned header_timeout_set:1; | 418 unsigned header_timeout_set:1; |
410 | 419 |
411 unsigned proxy:1; | 420 unsigned proxy:1; |
412 unsigned bypass_cache:1; | 421 unsigned bypass_cache:1; |
454 #endif | 463 #endif |
455 | 464 |
456 unsigned subrequests:8; | 465 unsigned subrequests:8; |
457 | 466 |
458 /* used to parse HTTP headers */ | 467 /* used to parse HTTP headers */ |
468 | |
459 ngx_uint_t state; | 469 ngx_uint_t state; |
460 u_char *uri_start; | 470 u_char *uri_start; |
461 u_char *uri_end; | 471 u_char *uri_end; |
462 u_char *uri_ext; | 472 u_char *uri_ext; |
463 u_char *args_start; | 473 u_char *args_start; |
473 u_char *header_name_start; | 483 u_char *header_name_start; |
474 u_char *header_name_end; | 484 u_char *header_name_end; |
475 u_char *header_start; | 485 u_char *header_start; |
476 u_char *header_end; | 486 u_char *header_end; |
477 | 487 |
488 unsigned http_minor:16; | |
489 unsigned http_major:16; | |
490 | |
478 ngx_uint_t header_hash; | 491 ngx_uint_t header_hash; |
479 ngx_uint_t lowcase_index; | 492 ngx_uint_t lowcase_index; |
480 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; | 493 u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; |
481 }; | 494 }; |
482 | 495 |