fix segfault
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c
index c33c2d4..69a12e0 100644
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -637,8 +637,6 @@
 
     plcf = ngx_http_get_module_loc_conf(r, ngx_http_proxy_module);
 
-    len = sizeof(ngx_http_proxy_version) - 1 + sizeof(CRLF) - 1;
-
     if (u->method.len) {
         /* HEAD was changed to GET to cache response */
         method = u->method;
@@ -652,6 +650,8 @@
         method.len++;
     }
 
+    len = method.len + sizeof(ngx_http_proxy_version) - 1 + sizeof(CRLF) - 1;
+
     escape = 0;
     loc_len = 0;
     unparsed_uri = 0;
@@ -659,12 +659,12 @@
     ctx = ngx_http_get_module_ctx(r, ngx_http_proxy_module);
 
     if (plcf->proxy_lengths) {
-        len += method.len + ctx->vars.uri.len;
+        len += ctx->vars.uri.len;
 
     } else if (ctx->vars.uri.len == 0 && r->valid_unparsed_uri && r == r->main)
     {
         unparsed_uri = 1;
-        len += method.len + r->unparsed_uri.len;
+        len += r->unparsed_uri.len;
 
     } else {
         loc_len = (r->valid_location && ctx->vars.uri.len) ?