Mercurial > hg > nginx
comparison src/http/ngx_http_upstream.c @ 2441:0c117a89f399
in miss case memcached module returned END instead of default 404 page body
the bug has been introduced in r2269
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 15 Jan 2009 13:10:45 +0000 |
parents | 7af1e5fe102c |
children | 3c6af1fb7586 |
comparison
equal
deleted
inserted
replaced
2440:939b40aa9ab4 | 2441:0c117a89f399 |
---|---|
1439 if (u->peer.tries > 1 && (u->conf->next_upstream & un->mask)) { | 1439 if (u->peer.tries > 1 && (u->conf->next_upstream & un->mask)) { |
1440 ngx_http_upstream_next(r, u, un->mask); | 1440 ngx_http_upstream_next(r, u, un->mask); |
1441 return NGX_OK; | 1441 return NGX_OK; |
1442 } | 1442 } |
1443 | 1443 |
1444 if (status == NGX_HTTP_NOT_FOUND && u->conf->intercept_404) { | |
1445 ngx_http_upstream_finalize_request(r, u, NGX_HTTP_NOT_FOUND); | |
1446 return NGX_OK; | |
1447 } | |
1448 | |
1449 #if (NGX_HTTP_CACHE) | 1444 #if (NGX_HTTP_CACHE) |
1450 | 1445 |
1451 if (u->peer.tries == 0 && u->stale && (u->conf->use_stale & un->mask)) { | 1446 if (u->peer.tries == 0 && u->stale && (u->conf->use_stale & un->mask)) { |
1452 ngx_http_upstream_finalize_request(r, u, | 1447 ngx_http_upstream_finalize_request(r, u, |
1453 ngx_http_send_cached_response(r)); | 1448 ngx_http_send_cached_response(r)); |
1469 ngx_uint_t i; | 1464 ngx_uint_t i; |
1470 ngx_table_elt_t *h; | 1465 ngx_table_elt_t *h; |
1471 ngx_http_err_page_t *err_page; | 1466 ngx_http_err_page_t *err_page; |
1472 ngx_http_core_loc_conf_t *clcf; | 1467 ngx_http_core_loc_conf_t *clcf; |
1473 | 1468 |
1469 status = u->headers_in.status_n; | |
1470 | |
1471 if (status == NGX_HTTP_NOT_FOUND && u->conf->intercept_404) { | |
1472 ngx_http_upstream_finalize_request(r, u, NGX_HTTP_NOT_FOUND); | |
1473 return NGX_OK; | |
1474 } | |
1475 | |
1474 if (!u->conf->intercept_errors) { | 1476 if (!u->conf->intercept_errors) { |
1475 return NGX_DECLINED; | 1477 return NGX_DECLINED; |
1476 } | 1478 } |
1477 | 1479 |
1478 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); | 1480 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); |
1479 | 1481 |
1480 if (clcf->error_pages == NULL) { | 1482 if (clcf->error_pages == NULL) { |
1481 return NGX_DECLINED; | 1483 return NGX_DECLINED; |
1482 } | 1484 } |
1483 | |
1484 status = u->headers_in.status_n; | |
1485 | 1485 |
1486 err_page = clcf->error_pages->elts; | 1486 err_page = clcf->error_pages->elts; |
1487 for (i = 0; i < clcf->error_pages->nelts; i++) { | 1487 for (i = 0; i < clcf->error_pages->nelts; i++) { |
1488 | 1488 |
1489 if (err_page[i].status == status) { | 1489 if (err_page[i].status == status) { |