Mercurial > hg > nginx
comparison src/http/ngx_http_parse.c @ 71:59229033ae93
nginx-0.0.1-2003-04-08-19:40:10 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 08 Apr 2003 15:40:10 +0000 |
parents | 5a7d1aaa1618 |
children | 66de3f065886 |
comparison
equal
deleted
inserted
replaced
70:e320bf51c4e3 | 71:59229033ae93 |
---|---|
336 sw_space_before_value, | 336 sw_space_before_value, |
337 sw_value, | 337 sw_value, |
338 sw_space_after_value, | 338 sw_space_after_value, |
339 sw_almost_done, | 339 sw_almost_done, |
340 sw_header_almost_done, | 340 sw_header_almost_done, |
341 sw_ignore_line, | |
341 sw_done, | 342 sw_done, |
342 sw_header_done | 343 sw_header_done |
343 } state; | 344 } state; |
344 | 345 |
345 state = r->state; | 346 state = r->state; |
402 | 403 |
403 if (ch >= '0' && ch <= '9') { | 404 if (ch >= '0' && ch <= '9') { |
404 break; | 405 break; |
405 } | 406 } |
406 | 407 |
408 if (ch == '/') { | |
409 /* IIS can send duplicate "HTTP/1.1 ..." lines */ | |
410 if (r->proxy && ngx_strncmp(r->header_start, "HTTP", 4) == 0) { | |
411 state = sw_ignore_line; | |
412 break; | |
413 } | |
414 } | |
415 | |
407 return NGX_HTTP_PARSE_INVALID_HEADER; | 416 return NGX_HTTP_PARSE_INVALID_HEADER; |
408 | 417 |
409 /* space* before header value */ | 418 /* space* before header value */ |
410 case sw_space_before_value: | 419 case sw_space_before_value: |
411 switch (ch) { | 420 switch (ch) { |
455 case LF: | 464 case LF: |
456 state = sw_done; | 465 state = sw_done; |
457 break; | 466 break; |
458 default: | 467 default: |
459 state = sw_value; | 468 state = sw_value; |
469 break; | |
470 } | |
471 break; | |
472 | |
473 /* ignore header line */ | |
474 case sw_ignore_line: | |
475 switch (ch) { | |
476 case LF: | |
477 state = sw_start; | |
478 break; | |
479 default: | |
460 break; | 480 break; |
461 } | 481 } |
462 break; | 482 break; |
463 | 483 |
464 /* end of header line */ | 484 /* end of header line */ |