Mercurial > hg > nginx-vendor-0-8
comparison src/http/ngx_http_parse.c @ 256:2e9c57a5e50a NGINX_0_4_13
nginx 0.4.13
*) Feature: the "proxy_pass" directive may be used inside the
"limit_except" block.
*) Feature: the "limit_except" directive supports all WebDAV methods.
*) Bugfix: if the "add_before_body" directive was used without the
"add_after_body" directive, then an response did not transferred
complete.
*) Bugfix: a large request body did not receive if the epoll method and
the deferred accept() were used.
*) Bugfix: a charset could not be set for ngx_http_autoindex_module
responses; bug appeared in 0.3.50.
*) Bugfix: the "[alert] zero size buf" error when FastCGI server was
used;
*) Bugfix: the --group= configuration parameter was ignored.
Thanks to Thomas Moschny.
*) Bugfix: the 50th subrequest in SSI response did not work; bug
appeared in 0.3.50.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 15 Nov 2006 00:00:00 +0300 |
parents | f3ec44f4a53b |
children | 6ae1357b7b7c |
comparison
equal
deleted
inserted
replaced
255:a13bad126e69 | 256:2e9c57a5e50a |
---|---|
92 switch (p - m) { | 92 switch (p - m) { |
93 | 93 |
94 case 3: | 94 case 3: |
95 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') { | 95 if (m[0] == 'G' && m[1] == 'E' && m[2] == 'T') { |
96 r->method = NGX_HTTP_GET; | 96 r->method = NGX_HTTP_GET; |
97 | 97 break; |
98 } else if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') { | 98 } |
99 | |
100 if (m[0] == 'P' && m[1] == 'U' && m[2] == 'T') { | |
99 r->method = NGX_HTTP_PUT; | 101 r->method = NGX_HTTP_PUT; |
102 break; | |
100 } | 103 } |
104 | |
101 break; | 105 break; |
102 | 106 |
103 case 4: | 107 case 4: |
104 if (m[0] == 'P' && m[1] == 'O' | 108 if (m[1] == 'O') { |
105 && m[2] == 'S' && m[3] == 'T') | 109 |
106 { | 110 if (m[0] == 'P' && m[2] == 'S' && m[3] == 'T') { |
107 r->method = NGX_HTTP_POST; | 111 r->method = NGX_HTTP_POST; |
108 | 112 break; |
109 } else if (m[0] == 'H' && m[1] == 'E' | 113 } |
110 && m[2] == 'A' && m[3] == 'D') | 114 |
111 { | 115 if (m[0] == 'C' && m[2] == 'P' && m[3] == 'Y') { |
112 r->method = NGX_HTTP_HEAD; | 116 r->method = NGX_HTTP_COPY; |
117 break; | |
118 } | |
119 | |
120 if (m[0] == 'M' && m[2] == 'V' && m[3] == 'E') { | |
121 r->method = NGX_HTTP_MOVE; | |
122 break; | |
123 } | |
124 | |
125 if (m[0] == 'L' && m[2] == 'C' && m[3] == 'K') { | |
126 r->method = NGX_HTTP_LOCK; | |
127 break; | |
128 } | |
129 | |
130 } else { | |
131 | |
132 if (m[0] == 'H' && m[1] == 'E' | |
133 && m[2] == 'A' && m[3] == 'D') | |
134 { | |
135 r->method = NGX_HTTP_HEAD; | |
136 break; | |
137 } | |
113 } | 138 } |
139 | |
114 break; | 140 break; |
115 | 141 |
116 case 5: | 142 case 5: |
117 if (m[0] == 'M' && m[1] == 'K' | 143 if (m[0] == 'M' && m[1] == 'K' |
118 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L') | 144 && m[2] == 'C' && m[3] == 'O' && m[4] == 'L') |
119 { | 145 { |
120 r->method = NGX_HTTP_MKCOL; | 146 r->method = NGX_HTTP_MKCOL; |
121 } | 147 } |
148 | |
122 break; | 149 break; |
123 | 150 |
124 case 6: | 151 case 6: |
125 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L' | 152 if (m[0] == 'D' && m[1] == 'E' && m[2] == 'L' |
126 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E') | 153 && m[3] == 'E' && m[4] == 'T' && m[5] == 'E') |
127 { | 154 { |
128 r->method = NGX_HTTP_DELETE; | 155 r->method = NGX_HTTP_DELETE; |
156 break; | |
129 } | 157 } |
158 | |
159 if (m[0] == 'U' && m[1] == 'N' && m[2] == 'L' | |
160 && m[3] == 'O' && m[4] == 'C' && m[5] == 'K') | |
161 { | |
162 r->method = NGX_HTTP_UNLOCK; | |
163 break; | |
164 } | |
165 | |
166 break; | |
167 | |
168 case 7: | |
169 if (m[0] == 'O' && m[1] == 'P' | |
170 && m[2] == 'T' && m[3] == 'I' | |
171 && m[4] == 'O' && m[5] == 'N' && m[6] == 'S') | |
172 { | |
173 r->method = NGX_HTTP_OPTIONS; | |
174 } | |
175 | |
176 break; | |
177 | |
178 case 8: | |
179 if (m[0] == 'P' && m[1] == 'R' | |
180 && m[2] == 'O' && m[3] == 'P' && m[4] == 'F' | |
181 && m[5] == 'I' && m[6] == 'N' && m[7] == 'D') | |
182 { | |
183 r->method = NGX_HTTP_PROPFIND; | |
184 } | |
185 | |
186 break; | |
187 | |
188 case 9: | |
189 if (m[0] == 'P' && m[1] == 'R' && m[2] == 'O' | |
190 && m[3] == 'P' && m[4] == 'P' && m[5] == 'A' | |
191 && m[6] == 'T' && m[7] == 'C' && m[8] == 'H') | |
192 { | |
193 r->method = NGX_HTTP_PROPPATCH; | |
194 } | |
195 | |
130 break; | 196 break; |
131 } | 197 } |
132 | 198 |
133 state = sw_spaces_before_uri; | 199 state = sw_spaces_before_uri; |
134 break; | 200 break; |