Mercurial > hg > nginx-quic
comparison src/http/ngx_http_core_module.c @ 46:f84a648211f4
nginx-0.0.1-2003-01-10-20:45:47 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 10 Jan 2003 17:45:47 +0000 |
parents | f1ee46c036a4 |
children | d81326c3b21b |
comparison
equal
deleted
inserted
replaced
45:f1ee46c036a4 | 46:f84a648211f4 |
---|---|
204 err = ngx_errno; | 204 err = ngx_errno; |
205 ngx_log_error(NGX_LOG_ERR, r->connection->log, err, | 205 ngx_log_error(NGX_LOG_ERR, r->connection->log, err, |
206 "ngx_http_core_translate_handler: " | 206 "ngx_http_core_translate_handler: " |
207 ngx_file_type_n " %s failed", r->file.name.data); | 207 ngx_file_type_n " %s failed", r->file.name.data); |
208 | 208 |
209 if (err == ERROR_FILE_NOT_FOUND) { | 209 if (err == NGX_ENOENT) { |
210 return NGX_HTTP_NOT_FOUND; | 210 return NGX_HTTP_NOT_FOUND; |
211 | |
211 } else if (err == ERROR_PATH_NOT_FOUND) { | 212 } else if (err == ERROR_PATH_NOT_FOUND) { |
212 return NGX_HTTP_NOT_FOUND; | 213 return NGX_HTTP_NOT_FOUND; |
214 | |
215 } else if (err == NGX_EACCESS) { | |
216 return NGX_HTTP_FORBIDDEN; | |
217 | |
213 } else { | 218 } else { |
214 return NGX_HTTP_INTERNAL_SERVER_ERROR; | 219 return NGX_HTTP_INTERNAL_SERVER_ERROR; |
215 } | 220 } |
216 } | 221 } |
217 | 222 |
234 return NGX_HTTP_NOT_FOUND; | 239 return NGX_HTTP_NOT_FOUND; |
235 #else | 240 #else |
236 } else if (err == NGX_ENOTDIR) { | 241 } else if (err == NGX_ENOTDIR) { |
237 return NGX_HTTP_NOT_FOUND; | 242 return NGX_HTTP_NOT_FOUND; |
238 #endif | 243 #endif |
244 } else if (err == NGX_EACCESS) { | |
245 return NGX_HTTP_FORBIDDEN; | |
246 | |
239 } else { | 247 } else { |
240 return NGX_HTTP_INTERNAL_SERVER_ERROR; | 248 return NGX_HTTP_INTERNAL_SERVER_ERROR; |
241 } | 249 } |
242 } | 250 } |
243 | 251 |
294 } | 302 } |
295 | 303 |
296 | 304 |
297 static int ngx_http_core_index_handler(ngx_http_request_t *r) | 305 static int ngx_http_core_index_handler(ngx_http_request_t *r) |
298 { | 306 { |
299 int i, rc; | 307 int i, rc; |
300 ngx_err_t err; | |
301 ngx_http_handler_pt *h; | 308 ngx_http_handler_pt *h; |
302 | 309 |
303 h = (ngx_http_handler_pt *) ngx_http_index_handlers.elts; | 310 h = (ngx_http_handler_pt *) ngx_http_index_handlers.elts; |
304 for (i = 0; i < ngx_http_index_handlers.nelts; i++) { | 311 for (i = 0; i < ngx_http_index_handlers.nelts; i++) { |
305 rc = h[i](r); | 312 rc = h[i](r); |
307 if (rc != NGX_DECLINED) { | 314 if (rc != NGX_DECLINED) { |
308 return rc; | 315 return rc; |
309 } | 316 } |
310 } | 317 } |
311 | 318 |
312 #if (WIN32) | 319 return NGX_HTTP_FORBIDDEN; |
313 | |
314 if (r->path_not_found) { | |
315 return NGX_HTTP_NOT_FOUND; | |
316 | |
317 } else { | |
318 return NGX_HTTP_FORBIDDEN; | |
319 } | |
320 | |
321 #else | |
322 | |
323 if (r->path_not_found) { | |
324 return NGX_HTTP_NOT_FOUND; | |
325 } | |
326 | |
327 r->path.data[r->path.len] = '\0'; | |
328 if (stat(r->path.data, &r->file.info) == -1) { | |
329 | |
330 err = ngx_errno; | |
331 if (err == NGX_ENOENT) { | |
332 return NGX_HTTP_NOT_FOUND; | |
333 } | |
334 | |
335 ngx_log_error(NGX_LOG_ERR, r->connection->log, err, | |
336 "ngx_http_core_index_handler: " | |
337 "stat() %s failed", r->path.data); | |
338 | |
339 return NGX_HTTP_INTERNAL_SERVER_ERROR; | |
340 } | |
341 | |
342 if (ngx_is_dir(r->file.info)) { | |
343 return NGX_HTTP_FORBIDDEN; | |
344 | |
345 } else { | |
346 return NGX_HTTP_NOT_FOUND; | |
347 } | |
348 | |
349 #endif | |
350 } | 320 } |
351 | 321 |
352 | 322 |
353 int ngx_http_send_header(ngx_http_request_t *r) | 323 int ngx_http_send_header(ngx_http_request_t *r) |
354 { | 324 { |