62T88HOYw8QyaoIJoXEGXr changeset

Changeset653332396238 (b)
ParentNone (a)
ab
0+diff --git a/src/couchdb/couch_httpd_proxy.erl b/src/couchdb/couch_httpd_proxy.e
0+index dec3f55..07a6a28 100644
0+--- a/src/couchdb/couch_httpd_proxy.erl
0++++ b/src/couchdb/couch_httpd_proxy.erl
0+@@ -21,10 +21,11 @@
0+ 
0+ 
0+ handle_proxy_req(Req, ProxyDest) ->
0++    {_, DestUrl} = get_urls(Req, ProxyDest),
0+     Method = get_method(Req),
0+     Url = get_url(Req, ProxyDest),
0+     Version = get_version(Req),
0+-    Headers = get_headers(Req),
0++    Headers = get_headers(Req) ++ [{"Host", DestUrl#url.host}],
0+     Body = get_body(Req),
0+     Options = [
0+         {http_vsn, Version},
0+@@ -89,6 +90,8 @@ to_ibrowse_headers([{K, V} | Rest], Acc) when is_list(K) ->
0+         % This appears to make ibrowse too smart.
0+         %"transfer-encoding" ->
0+         %    to_ibrowse_headers(Rest, [{transfer_encoding, V} | Acc]);
0++        "host" ->
0++            to_ibrowse_headers(Rest, Acc);
0+         _ ->
0+             to_ibrowse_headers(Rest, [{K, V} | Acc])
0+     end.
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- Revision None
+++ Revision 653332396238
@@ -0,0 +1,26 @@
+diff --git a/src/couchdb/couch_httpd_proxy.erl b/src/couchdb/couch_httpd_proxy.e
+index dec3f55..07a6a28 100644
+--- a/src/couchdb/couch_httpd_proxy.erl
++++ b/src/couchdb/couch_httpd_proxy.erl
+@@ -21,10 +21,11 @@
+
+
+ handle_proxy_req(Req, ProxyDest) ->
++ {_, DestUrl} = get_urls(Req, ProxyDest),
+ Method = get_method(Req),
+ Url = get_url(Req, ProxyDest),
+ Version = get_version(Req),
+- Headers = get_headers(Req),
++ Headers = get_headers(Req) ++ [{"Host", DestUrl#url.host}],
+ Body = get_body(Req),
+ Options = [
+ {http_vsn, Version},
+@@ -89,6 +90,8 @@ to_ibrowse_headers([{K, V} | Rest], Acc) when is_list(K) ->
+ % This appears to make ibrowse too smart.
+ %"transfer-encoding" ->
+ % to_ibrowse_headers(Rest, [{transfer_encoding, V} | Acc]);
++ "host" ->
++ to_ibrowse_headers(Rest, Acc);
+ _ ->
+ to_ibrowse_headers(Rest, [{K, V} | Acc])
+ end.