From 57abad2d59323e64144246a9af6ce0fc91711a6f Mon Sep 17 00:00:00 2001 From: Sergey Tupchiy Date: Wed, 13 Mar 2019 16:12:13 +0200 Subject: Fix Websocket upgrade host header when it's an IP address --- src/gun_http.erl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/gun_http.erl') diff --git a/src/gun_http.erl b/src/gun_http.erl index 02344ee..ca04b10 100644 --- a/src/gun_http.erl +++ b/src/gun_http.erl @@ -617,12 +617,9 @@ ws_upgrade(State=#http_state{socket=Socket, transport=Transport, owner=Owner, ou {<<"sec-websocket-key">>, Key} |Headers2 ], - IsSecure = Transport =:= gun_tls, Headers = case lists:keymember(<<"host">>, 1, Headers0) of true -> Headers3; - false when Port =:= 80, not IsSecure -> [{<<"host">>, Host}|Headers3]; - false when Port =:= 443, IsSecure -> [{<<"host">>, Host}|Headers3]; - false -> [{<<"host">>, [Host, $:, integer_to_binary(Port)]}|Headers3] + false -> [{<<"host">>, host_header(Transport, Host, Port)}|Headers3] end, Transport:send(Socket, cow_http:request(<<"GET">>, Path, 'HTTP/1.1', Headers)), new_stream(State#http_state{connection=keepalive, out=head}, -- cgit v1.2.3