aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_http.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-08-16 16:51:09 +0200
committerLoïc Hoguin <[email protected]>2015-08-16 16:51:09 +0200
commita0a94d830c5aac69edff2cec23b901157e3e76a4 (patch)
tree7647e99822bf7d041f2dad2308d6dd93c3b3994d /src/gun_http.erl
parentfa4ffde890f00e211aa1c63b176856de2f2bc941 (diff)
downloadgun-a0a94d830c5aac69edff2cec23b901157e3e76a4.tar.gz
gun-a0a94d830c5aac69edff2cec23b901157e3e76a4.tar.bz2
gun-a0a94d830c5aac69edff2cec23b901157e3e76a4.zip
Include user headers in HTTP/1 requests
Oops! Thanks everyone who reported/submitted patches.
Diffstat (limited to 'src/gun_http.erl')
-rw-r--r--src/gun_http.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gun_http.erl b/src/gun_http.erl
index c075af2..12fb83c 100644
--- a/src/gun_http.erl
+++ b/src/gun_http.erl
@@ -390,11 +390,12 @@ ws_upgrade(#http_state{version='HTTP/1.0'}, _, _, _, _, _, _) ->
error; %% @todo
ws_upgrade(State=#http_state{socket=Socket, transport=Transport, out=head},
StreamRef, Host, Port, Path, Headers, WsOpts) ->
- %% @todo Add option for setting protocol.
- {ExtHeaders, GunExtensions} = case maps:get(compress, WsOpts, false) of
- true -> {[{<<"sec-websocket-extensions">>, <<"permessage-deflate; client_max_window_bits; server_max_window_bits=15">>}],
+ {Headers1, GunExtensions} = case maps:get(compress, WsOpts, false) of
+ true -> {[{<<"sec-websocket-extensions">>,
+ <<"permessage-deflate; client_max_window_bits; server_max_window_bits=15">>}
+ |Headers],
[<<"permessage-deflate">>]};
- false -> {[], []}
+ false -> {Headers, []}
end,
Key = cow_ws:key(),
Headers2 = [
@@ -402,7 +403,7 @@ ws_upgrade(State=#http_state{socket=Socket, transport=Transport, out=head},
{<<"upgrade">>, <<"websocket">>},
{<<"sec-websocket-version">>, <<"13">>},
{<<"sec-websocket-key">>, Key}
- |ExtHeaders
+ |Headers1
],
IsSecure = Transport:secure(),
Headers3 = case lists:keymember(<<"host">>, 1, Headers) of