comparison src/http/modules/ngx_http_proxy_module.c @ 3731:72cc5b789021

inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass inside a limit_except block if no handler was defined for the block
author Igor Sysoev <igor@sysoev.ru>
date Tue, 03 Aug 2010 09:24:25 +0000
parents 4b773fc06336
children 527a0f8cae2a
comparison
equal deleted inserted replaced
3730:d094e237abf4 3731:72cc5b789021
1718 ngx_http_proxy_loc_conf_t *conf = child; 1718 ngx_http_proxy_loc_conf_t *conf = child;
1719 1719
1720 size_t size; 1720 size_t size;
1721 ngx_keyval_t *s; 1721 ngx_keyval_t *s;
1722 ngx_hash_init_t hash; 1722 ngx_hash_init_t hash;
1723 ngx_http_core_loc_conf_t *clcf;
1723 ngx_http_proxy_redirect_t *pr; 1724 ngx_http_proxy_redirect_t *pr;
1724 ngx_http_script_compile_t sc; 1725 ngx_http_script_compile_t sc;
1725 1726
1726 if (conf->upstream.store != 0) { 1727 if (conf->upstream.store != 0) {
1727 ngx_conf_merge_value(conf->upstream.store, 1728 ngx_conf_merge_value(conf->upstream.store,
2020 if (conf->upstream.upstream == NULL) { 2021 if (conf->upstream.upstream == NULL) {
2021 conf->upstream.upstream = prev->upstream.upstream; 2022 conf->upstream.upstream = prev->upstream.upstream;
2022 conf->vars = prev->vars; 2023 conf->vars = prev->vars;
2023 } 2024 }
2024 2025
2026 if (conf->upstream.upstream || conf->proxy_lengths) {
2027 clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
2028 if (clcf->handler == NULL && clcf->lmt_excpt) {
2029 clcf->handler = ngx_http_proxy_handler;
2030 conf->location = prev->location;
2031 }
2032 }
2025 2033
2026 if (conf->body_source.data == NULL) { 2034 if (conf->body_source.data == NULL) {
2027 conf->body_source = prev->body_source; 2035 conf->body_source = prev->body_source;
2028 conf->body_set_len = prev->body_set_len; 2036 conf->body_set_len = prev->body_set_len;
2029 conf->body_set = prev->body_set; 2037 conf->body_set = prev->body_set;