Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_parse.c @ 640:eb208e0cf44d NGINX_1_1_4
nginx 1.1.4
*) Feature: the ngx_http_upstream_keepalive module.
*) Feature: the "proxy_http_version" directive.
*) Feature: the "fastcgi_keep_conn" directive.
*) Feature: the "worker_aio_requests" directive.
*) Bugfix: if nginx was built --with-file-aio it could not be run on
Linux kernel which did not support AIO.
*) Bugfix: in Linux AIO error processing.
Thanks to Hagai Avrahami.
*) Bugfix: reduced memory consumption for long-lived requests.
*) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
"co64" atom.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 20 Sep 2011 00:00:00 +0400 |
parents | c456a023113c |
children | 4d05413aebad |
comparison
equal
deleted
inserted
replaced
639:b516b4e38bc9 | 640:eb208e0cf44d |
---|---|
1401 case sw_first_major_digit: | 1401 case sw_first_major_digit: |
1402 if (ch < '1' || ch > '9') { | 1402 if (ch < '1' || ch > '9') { |
1403 return NGX_ERROR; | 1403 return NGX_ERROR; |
1404 } | 1404 } |
1405 | 1405 |
1406 r->http_major = ch - '0'; | |
1406 state = sw_major_digit; | 1407 state = sw_major_digit; |
1407 break; | 1408 break; |
1408 | 1409 |
1409 /* the major HTTP version or dot */ | 1410 /* the major HTTP version or dot */ |
1410 case sw_major_digit: | 1411 case sw_major_digit: |
1415 | 1416 |
1416 if (ch < '0' || ch > '9') { | 1417 if (ch < '0' || ch > '9') { |
1417 return NGX_ERROR; | 1418 return NGX_ERROR; |
1418 } | 1419 } |
1419 | 1420 |
1421 r->http_major = r->http_major * 10 + ch - '0'; | |
1420 break; | 1422 break; |
1421 | 1423 |
1422 /* the first digit of minor HTTP version */ | 1424 /* the first digit of minor HTTP version */ |
1423 case sw_first_minor_digit: | 1425 case sw_first_minor_digit: |
1424 if (ch < '0' || ch > '9') { | 1426 if (ch < '0' || ch > '9') { |
1425 return NGX_ERROR; | 1427 return NGX_ERROR; |
1426 } | 1428 } |
1427 | 1429 |
1430 r->http_minor = ch - '0'; | |
1428 state = sw_minor_digit; | 1431 state = sw_minor_digit; |
1429 break; | 1432 break; |
1430 | 1433 |
1431 /* the minor HTTP version or the end of the request line */ | 1434 /* the minor HTTP version or the end of the request line */ |
1432 case sw_minor_digit: | 1435 case sw_minor_digit: |
1437 | 1440 |
1438 if (ch < '0' || ch > '9') { | 1441 if (ch < '0' || ch > '9') { |
1439 return NGX_ERROR; | 1442 return NGX_ERROR; |
1440 } | 1443 } |
1441 | 1444 |
1445 r->http_minor = r->http_minor * 10 + ch - '0'; | |
1442 break; | 1446 break; |
1443 | 1447 |
1444 /* HTTP status code */ | 1448 /* HTTP status code */ |
1445 case sw_status: | 1449 case sw_status: |
1446 if (ch == ' ') { | 1450 if (ch == ' ') { |
1514 | 1518 |
1515 if (status->end == NULL) { | 1519 if (status->end == NULL) { |
1516 status->end = p; | 1520 status->end = p; |
1517 } | 1521 } |
1518 | 1522 |
1523 status->http_version = r->http_major * 1000 + r->http_minor; | |
1519 r->state = sw_start; | 1524 r->state = sw_start; |
1520 | 1525 |
1521 return NGX_OK; | 1526 return NGX_OK; |
1522 } | 1527 } |
1523 | 1528 |