comparison src/http/ngx_http_parse.c @ 99:a059e1aa65d4

nginx-0.0.1-2003-06-02-19:24:30 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 02 Jun 2003 15:24:30 +0000
parents 637625a2acdb
children 2a615b036870
comparison
equal deleted inserted replaced
98:c9b243802a17 99:a059e1aa65d4
173 state = sw_uri; 173 state = sw_uri;
174 break; 174 break;
175 } 175 }
176 break; 176 break;
177 177
178 /* check "/." or "//" */ 178 /* check "/.", "//", and "%" in URI */
179 case sw_after_slash_in_uri: 179 case sw_after_slash_in_uri:
180 switch (ch) { 180 switch (ch) {
181 case CR: 181 case CR:
182 r->uri_end = p - 1; 182 r->uri_end = p - 1;
183 r->http_minor = 9; 183 r->http_minor = 9;
191 case ' ': 191 case ' ':
192 r->uri_end = p - 1; 192 r->uri_end = p - 1;
193 state = sw_http_09; 193 state = sw_http_09;
194 break; 194 break;
195 case '.': 195 case '.':
196 case '%':
196 r->complex_uri = 1; 197 r->complex_uri = 1;
197 state = sw_uri; 198 state = sw_uri;
198 break; 199 break;
199 case '/': 200 case '/':
200 #if (WIN32) 201 #if (WIN32)
209 state = sw_check_uri; 210 state = sw_check_uri;
210 break; 211 break;
211 } 212 }
212 break; 213 break;
213 214
214 /* check slash in URI */ 215 /* check "/" and "%" in URI */
215 case sw_check_uri: 216 case sw_check_uri:
216 switch (ch) { 217 switch (ch) {
217 case CR: 218 case CR:
218 r->uri_end = p - 1; 219 r->uri_end = p - 1;
219 r->http_minor = 9; 220 r->http_minor = 9;
232 r->uri_ext = p; 233 r->uri_ext = p;
233 break; 234 break;
234 case '/': 235 case '/':
235 r->uri_ext = NULL; 236 r->uri_ext = NULL;
236 state = sw_after_slash_in_uri; 237 state = sw_after_slash_in_uri;
238 break;
239 case '%':
240 r->complex_uri = 1;
241 state = sw_uri;
237 break; 242 break;
238 case '?': 243 case '?':
239 r->args_start = p; 244 r->args_start = p;
240 state = sw_uri; 245 state = sw_uri;
241 break; 246 break;