Mercurial > hg > nginx-ranges
comparison src/http/ngx_http_request.h @ 517:8fbdd980b527
Merge with current.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 13 Jul 2009 23:56:24 +0400 |
parents | 44a61c599bb2 f39b9e29530d |
children | 40fd8d7b82f9 |
comparison
equal
deleted
inserted
replaced
424:44a61c599bb2 | 517:8fbdd980b527 |
---|---|
8 #define _NGX_HTTP_REQUEST_H_INCLUDED_ | 8 #define _NGX_HTTP_REQUEST_H_INCLUDED_ |
9 | 9 |
10 | 10 |
11 #define NGX_HTTP_MAX_URI_CHANGES 10 | 11 #define NGX_HTTP_MAX_URI_CHANGES 10 |
12 #define NGX_HTTP_MAX_SUBREQUESTS 50 | 12 #define NGX_HTTP_MAX_SUBREQUESTS 50 |
13 #define NGX_HTTP_MAX_CAPTURES 9 | |
13 | 14 |
14 /* must be 2^n */ | 15 /* must be 2^n */ |
15 #define NGX_HTTP_LC_HEADER_LEN 32 | 16 #define NGX_HTTP_LC_HEADER_LEN 32 |
16 | 17 |
17 | 18 |
56 #define NGX_HTTP_PARSE_INVALID_HEADER 13 | 57 #define NGX_HTTP_PARSE_INVALID_HEADER 13 |
57 | 58 |
58 | 59 |
59 #define NGX_HTTP_ZERO_IN_URI 1 | 60 #define NGX_HTTP_ZERO_IN_URI 1 |
60 #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2 | 61 #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2 |
62 #define NGX_HTTP_SUBREQUEST_WAITED 4 | |
61 | 63 |
62 | 64 |
63 #define NGX_HTTP_OK 200 | 65 #define NGX_HTTP_OK 200 |
64 #define NGX_HTTP_CREATED 201 | 66 #define NGX_HTTP_CREATED 201 |
65 #define NGX_HTTP_NO_CONTENT 204 | 67 #define NGX_HTTP_NO_CONTENT 204 |
319 ngx_chain_t *out; | 321 ngx_chain_t *out; |
320 ngx_http_postponed_request_t *next; | 322 ngx_http_postponed_request_t *next; |
321 }; | 323 }; |
322 | 324 |
323 | 325 |
326 typedef struct ngx_http_posted_request_s ngx_http_posted_request_t; | |
327 | |
328 struct ngx_http_posted_request_s { | |
329 ngx_http_request_t *request; | |
330 ngx_http_posted_request_t *next; | |
331 }; | |
332 | |
333 | |
324 typedef ngx_int_t (*ngx_http_handler_pt)(ngx_http_request_t *r); | 334 typedef ngx_int_t (*ngx_http_handler_pt)(ngx_http_request_t *r); |
325 typedef void (*ngx_http_event_handler_pt)(ngx_http_request_t *r); | 335 typedef void (*ngx_http_event_handler_pt)(ngx_http_request_t *r); |
326 | 336 |
327 | 337 |
328 struct ngx_http_request_s { | 338 struct ngx_http_request_s { |
336 void **loc_conf; | 346 void **loc_conf; |
337 | 347 |
338 ngx_http_event_handler_pt read_event_handler; | 348 ngx_http_event_handler_pt read_event_handler; |
339 ngx_http_event_handler_pt write_event_handler; | 349 ngx_http_event_handler_pt write_event_handler; |
340 | 350 |
351 #if (NGX_HTTP_CACHE) | |
341 ngx_http_cache_t *cache; | 352 ngx_http_cache_t *cache; |
353 #endif | |
342 | 354 |
343 ngx_http_upstream_t *upstream; | 355 ngx_http_upstream_t *upstream; |
344 ngx_array_t *upstream_states; | 356 ngx_array_t *upstream_states; |
345 /* of ngx_http_upstream_state_t */ | 357 /* of ngx_http_upstream_state_t */ |
346 | 358 |
371 ngx_chain_t *out; | 383 ngx_chain_t *out; |
372 ngx_http_request_t *main; | 384 ngx_http_request_t *main; |
373 ngx_http_request_t *parent; | 385 ngx_http_request_t *parent; |
374 ngx_http_postponed_request_t *postponed; | 386 ngx_http_postponed_request_t *postponed; |
375 ngx_http_post_subrequest_t *post_subrequest; | 387 ngx_http_post_subrequest_t *post_subrequest; |
376 | 388 ngx_http_posted_request_t *posted_requests; |
377 uint32_t in_addr; | 389 |
378 ngx_uint_t port; | |
379 ngx_str_t *port_text; /* ":80" */ | |
380 ngx_http_virtual_names_t *virtual_names; | 390 ngx_http_virtual_names_t *virtual_names; |
381 | 391 |
382 ngx_int_t phase_handler; | 392 ngx_int_t phase_handler; |
383 ngx_http_handler_pt content_handler; | 393 ngx_http_handler_pt content_handler; |
384 ngx_uint_t access_code; | 394 ngx_uint_t access_code; |
385 | 395 |
386 ngx_http_variable_value_t *variables; | 396 ngx_http_variable_value_t *variables; |
397 | |
398 #if (NGX_PCRE) | |
399 ngx_uint_t ncaptures; | |
400 int *captures; | |
401 u_char *captures_data; | |
402 #endif | |
387 | 403 |
388 size_t limit_rate; | 404 size_t limit_rate; |
389 | 405 |
390 /* used to learn the Apache compatible response length without a header */ | 406 /* used to learn the Apache compatible response length without a header */ |
391 size_t header_size; | 407 size_t header_size; |
426 unsigned request_body_in_persistent_file:1; | 442 unsigned request_body_in_persistent_file:1; |
427 unsigned request_body_in_clean_file:1; | 443 unsigned request_body_in_clean_file:1; |
428 unsigned request_body_file_group_access:1; | 444 unsigned request_body_file_group_access:1; |
429 unsigned request_body_file_log_level:3; | 445 unsigned request_body_file_log_level:3; |
430 | 446 |
431 unsigned fast_subrequest:1; | |
432 unsigned subrequest_in_memory:1; | 447 unsigned subrequest_in_memory:1; |
433 | 448 unsigned waited:1; |
449 | |
450 #if (NGX_HTTP_CACHE) | |
451 unsigned cached:1; | |
452 #endif | |
434 unsigned gzip:2; | 453 unsigned gzip:2; |
435 | 454 |
436 unsigned proxy:1; | 455 unsigned proxy:1; |
437 unsigned bypass_cache:1; | 456 unsigned bypass_cache:1; |
438 unsigned no_cache:1; | 457 unsigned no_cache:1; |
439 | 458 |
440 /* | 459 /* |
441 * instead of using the request context data in ngx_http_limit_zone_module | 460 * instead of using the request context data in |
442 * we use the single bit in the request structure | 461 * ngx_http_limit_zone_module and ngx_http_limit_req_module |
462 * we use the single bits in the request structure | |
443 */ | 463 */ |
444 unsigned limit_zone_set:1; | 464 unsigned limit_zone_set:1; |
465 unsigned limit_req_set:1; | |
445 | 466 |
446 #if 0 | 467 #if 0 |
447 unsigned cacheable:1; | 468 unsigned cacheable:1; |
448 #endif | 469 #endif |
449 | 470 |
455 unsigned keepalive:1; | 476 unsigned keepalive:1; |
456 unsigned lingering_close:1; | 477 unsigned lingering_close:1; |
457 unsigned discard_body:1; | 478 unsigned discard_body:1; |
458 unsigned internal:1; | 479 unsigned internal:1; |
459 unsigned error_page:1; | 480 unsigned error_page:1; |
481 unsigned ignore_content_encoding:1; | |
482 unsigned filter_finalize:1; | |
460 unsigned post_action:1; | 483 unsigned post_action:1; |
461 unsigned request_complete:1; | 484 unsigned request_complete:1; |
462 unsigned request_output:1; | 485 unsigned request_output:1; |
463 unsigned header_sent:1; | 486 unsigned header_sent:1; |
464 unsigned expect_tested:1; | 487 unsigned expect_tested:1; |
465 unsigned root_tested:1; | 488 unsigned root_tested:1; |
466 unsigned done:1; | 489 unsigned done:1; |
467 unsigned logged:1; | 490 unsigned logged:1; |
468 unsigned utf8:1; | |
469 | 491 |
470 unsigned buffered:4; | 492 unsigned buffered:4; |
471 | 493 |
472 unsigned main_filter_need_in_memory:1; | 494 unsigned main_filter_need_in_memory:1; |
473 unsigned filter_need_in_memory:1; | 495 unsigned filter_need_in_memory:1; |