comparison src/http/ngx_http_parse.c @ 639:715d24327080 release-0.3.41

nginx-0.3.41-RELEASE import *) Feature: the -v switch. *) Bugfix: the segmentation fault may occurred if the SSI page has remote subrequests. *) Bugfix: in FastCGI handling. *) Bugfix: if the perl modules path was not set using --with-perl_modules_path=PATH or the "perl_modules", then the segmentation fault was occurred.
author Igor Sysoev <igor@sysoev.ru>
date Fri, 21 Apr 2006 12:06:44 +0000
parents e60fe4cf1d4e
children 1e720b0be7ec
comparison
equal deleted inserted replaced
638:76bf795b5a02 639:715d24327080
65 case sw_method: 65 case sw_method:
66 if (ch == ' ') { 66 if (ch == ' ') {
67 r->method_end = p - 1; 67 r->method_end = p - 1;
68 m = r->request_start; 68 m = r->request_start;
69 69
70 if (p - m == 3) { 70 switch (p - m) {
71 71
72 case 3:
72 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') { 73 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') {
73 r->method = NGX_HTTP_GET; 74 r->method = NGX_HTTP_GET;
74 75
75 } else if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') { 76 } else if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') {
76 r->method = NGX_HTTP_PUT; 77 r->method = NGX_HTTP_PUT;
77 } 78 }
78 79 break;
79 } else if (p - m == 4) { 80
80 81 case 4:
81 if (m[0] == 'P' && m[1] == 'O' 82 if (m[0] == 'P' && m[1] == 'O'
82 && m[2] == 'S' && m[3] == 'T') 83 && m[2] == 'S' && m[3] == 'T')
83 { 84 {
84 r->method = NGX_HTTP_POST; 85 r->method = NGX_HTTP_POST;
85 86
86 } else if (m[0] == 'H' && m[1] == 'E' 87 } else if (m[0] == 'H' && m[1] == 'E'
87 && m[2] == 'A' && m[3] == 'D') 88 && m[2] == 'A' && m[3] == 'D')
88 { 89 {
89 r->method = NGX_HTTP_HEAD; 90 r->method = NGX_HTTP_HEAD;
90 } 91 }
91 92 break;
92 } else if (p - m == 5) { 93
93 94 case 5:
94 if (m[0] == 'M' && m[1] == 'K' 95 if (m[0] == 'M' && m[1] == 'K'
95 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L') 96 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L')
96 { 97 {
97 r->method = NGX_HTTP_MKCOL; 98 r->method = NGX_HTTP_MKCOL;
98 } 99 }
99 100 break;
100 } else if (p - m == 6) { 101
101 102 case 6:
102 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L' 103 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L'
103 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E') 104 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E')
104 { 105 {
105 r->method = NGX_HTTP_DELETE; 106 r->method = NGX_HTTP_DELETE;
106 } 107 }
108 break;
107 } 109 }
108 110
109 state = sw_spaces_before_uri; 111 state = sw_spaces_before_uri;
110 break; 112 break;
111 } 113 }