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