comparison src/http/modules/ngx_http_proxy_module.c @ 100:d6800bbe720e NGINX_0_2_4

nginx 0.2.4 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions in the "if" command. *) Bugfix: in proxying location without trailing slash; bug appeared in 0.1.44. *) Bugfix: the segmentation fault may occurred if the "rtsig" method was used; bug appeared in 0.2.0.
author Igor Sysoev <http://sysoev.ru>
date Mon, 03 Oct 2005 00:00:00 +0400
parents ca4f70b3ccc6
children 146eff53ab60
comparison
equal deleted inserted replaced
99:942ae8bb3ece 100:d6800bbe720e
428 len += r->method_name.len + 1 + u->conf->uri.len; 428 len += r->method_name.len + 1 + u->conf->uri.len;
429 } 429 }
430 430
431 escape = 0; 431 escape = 0;
432 432
433 loc_len = r->valid_location ? u->conf->location->len - 1 : 0; 433 loc_len = r->valid_location ? u->conf->location->len : 0;
434 434
435 if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) { 435 if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) {
436 len += r->unparsed_uri.len; 436 len += r->unparsed_uri.len;
437 437
438 } else { 438 } else {
512 } else { 512 } else {
513 b->last = ngx_cpymem(b->last, r->method_name.data, 513 b->last = ngx_cpymem(b->last, r->method_name.data,
514 r->method_name.len + 1); 514 r->method_name.len + 1);
515 } 515 }
516 516
517 b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len - 1);
518
519 if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) { 517 if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) {
520 b->last = ngx_cpymem(b->last, r->unparsed_uri.data, 518 b->last = ngx_cpymem(b->last, r->unparsed_uri.data,
521 r->unparsed_uri.len); 519 r->unparsed_uri.len);
522 } else { 520 } else {
521 b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len);
522
523 if (escape) { 523 if (escape) {
524 ngx_escape_uri(b->last, r->uri.data + loc_len, 524 ngx_escape_uri(b->last, r->uri.data + loc_len,
525 r->uri.len - loc_len, NGX_ESCAPE_URI); 525 r->uri.len - loc_len, NGX_ESCAPE_URI);
526 b->last += r->uri.len - loc_len + escape; 526 b->last += r->uri.len - loc_len + escape;
527 527