comparison src/http/modules/ngx_http_proxy_module.c @ 4401:d45742815c90

Fixed proxy_cache_use_stale in "no live upstreams" case.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 16 Jan 2012 11:01:52 +0000
parents a0505851e70c
children d620f497c50f
comparison
equal deleted inserted replaced
4400:a0505851e70c 4401:d45742815c90
2683 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, 2683 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
2684 prev->upstream.cache_use_stale, 2684 prev->upstream.cache_use_stale,
2685 (NGX_CONF_BITMASK_SET 2685 (NGX_CONF_BITMASK_SET
2686 |NGX_HTTP_UPSTREAM_FT_OFF)); 2686 |NGX_HTTP_UPSTREAM_FT_OFF));
2687 2687
2688 if (conf->upstream.cache_methods == 0) {
2689 conf->upstream.cache_methods = prev->upstream.cache_methods;
2690 }
2691
2692 conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD;
2693
2694 if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_OFF) { 2688 if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_OFF) {
2695 conf->upstream.cache_use_stale = NGX_CONF_BITMASK_SET 2689 conf->upstream.cache_use_stale = NGX_CONF_BITMASK_SET
2696 |NGX_HTTP_UPSTREAM_FT_OFF; 2690 |NGX_HTTP_UPSTREAM_FT_OFF;
2697 } 2691 }
2692
2693 if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_ERROR) {
2694 conf->upstream.cache_use_stale |= NGX_HTTP_UPSTREAM_FT_NOLIVE;
2695 }
2696
2697 if (conf->upstream.cache_methods == 0) {
2698 conf->upstream.cache_methods = prev->upstream.cache_methods;
2699 }
2700
2701 conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD;
2698 2702
2699 ngx_conf_merge_ptr_value(conf->upstream.cache_bypass, 2703 ngx_conf_merge_ptr_value(conf->upstream.cache_bypass,
2700 prev->upstream.cache_bypass, NULL); 2704 prev->upstream.cache_bypass, NULL);
2701 2705
2702 ngx_conf_merge_ptr_value(conf->upstream.no_cache, 2706 ngx_conf_merge_ptr_value(conf->upstream.no_cache,