diff src/http/modules/proxy/ngx_http_proxy_handler.c @ 191:71ce40b3c37b

nginx-0.0.1-2003-11-19-19:26:41 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 19 Nov 2003 16:26:41 +0000
parents 02a715e85df1
children dd66383796a5
line wrap: on
line diff
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -524,22 +524,22 @@ void ngx_http_proxy_close_connection(ngx
 
 size_t ngx_http_proxy_log_error(void *data, char *buf, size_t len)
 {
-    ngx_http_proxy_ctx_t *p = data;
+    ngx_http_proxy_log_ctx_t *ctx = data;
 
     ngx_http_request_t     *r;
     ngx_peer_connection_t  *peer;
 
-    r = p->request;
-    peer = &p->upstream->peer;
+    r = ctx->proxy->request;
+    peer = &ctx->proxy->upstream->peer;
 
     return ngx_snprintf(buf, len,
                         " while %s, client: %s, URL: %s, upstream: %s%s%s%s%s",
-                        p->action,
+                        ctx->proxy->action,
                         r->connection->addr_text.data,
                         r->unparsed_uri.data,
                         peer->peers->peers[peer->cur_peer].addr_port_text.data,
-                        p->lcf->upstream->uri.data,
-                        r->uri.data + p->lcf->upstream->location->len,
+                        ctx->proxy->lcf->upstream->uri.data,
+                        r->uri.data + ctx->proxy->lcf->upstream->location->len,
                         r->args.len ? "?" : "",
                         r->args.len ? r->args.data : "");
 }
@@ -934,7 +934,9 @@ static char *ngx_http_proxy_set_pass(ngx
     clcf = ctx->loc_conf[ngx_http_core_module.ctx_index];
     lcf->upstream->location = &clcf->name;
     clcf->handler = ngx_http_proxy_handler;
-    clcf->auto_redirect = 1;
+    if (clcf->name.data[clcf->name.len - 1] == '/') {
+        clcf->auto_redirect = 1;
+    }
 
     return NULL;
 }