comparison src/http/modules/ngx_http_proxy_module.c @ 3605:ef078f482a89

fix rewritten Refresh header length
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Jun 2010 14:33:50 +0000
parents 20708cffd6dc
children 39535a91776d
comparison
equal deleted inserted replaced
3604:3a64bdacf1e4 3605:ef078f482a89
1763 pr->redirect.len) != 0) 1763 pr->redirect.len) != 0)
1764 { 1764 {
1765 return NGX_DECLINED; 1765 return NGX_DECLINED;
1766 } 1766 }
1767 1767
1768 len = prefix + pr->replacement.text.len + h->value.len - pr->redirect.len; 1768 len = pr->replacement.text.len + h->value.len - pr->redirect.len;
1769 1769
1770 data = ngx_pnalloc(r->pool, len); 1770 data = ngx_pnalloc(r->pool, len);
1771 if (data == NULL) { 1771 if (data == NULL) {
1772 return NGX_ERROR; 1772 return NGX_ERROR;
1773 } 1773 }
1810 ngx_memzero(&e, sizeof(ngx_http_script_engine_t)); 1810 ngx_memzero(&e, sizeof(ngx_http_script_engine_t));
1811 1811
1812 e.ip = pr->replacement.vars.lengths; 1812 e.ip = pr->replacement.vars.lengths;
1813 e.request = r; 1813 e.request = r;
1814 1814
1815 len = prefix + h->value.len - pr->redirect.len; 1815 len = h->value.len - pr->redirect.len;
1816 1816
1817 while (*(uintptr_t *) e.ip) { 1817 while (*(uintptr_t *) e.ip) {
1818 lcode = *(ngx_http_script_len_code_pt *) e.ip; 1818 lcode = *(ngx_http_script_len_code_pt *) e.ip;
1819 len += lcode(&e); 1819 len += lcode(&e);
1820 } 1820 }