aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_http2.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2020-11-12 15:27:07 +0100
committerLoïc Hoguin <[email protected]>2020-11-12 15:27:07 +0100
commit492c955819eec864e3f3ea2760d3ee7800851356 (patch)
tree67046c8bd94cc875b9d0887d721cc3e55ba0950c /src/gun_http2.erl
parent093dcd5fdefb6df0d316624665c584f37040cdd8 (diff)
downloadgun-492c955819eec864e3f3ea2760d3ee7800851356.tar.gz
gun-492c955819eec864e3f3ea2760d3ee7800851356.tar.bz2
gun-492c955819eec864e3f3ea2760d3ee7800851356.zip
Return 'undefined' for raw|socks origin_scheme where applicable
Diffstat (limited to 'src/gun_http2.erl')
-rw-r--r--src/gun_http2.erl10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gun_http2.erl b/src/gun_http2.erl
index 9c8e094..2778b4f 100644
--- a/src/gun_http2.erl
+++ b/src/gun_http2.erl
@@ -1256,16 +1256,18 @@ stream_info(State, StreamRef) when is_reference(StreamRef) ->
info=#{origin_host := OriginHost, origin_port := OriginPort},
protocol=Proto, protocol_state=ProtoState}} ->
Transport = maps:get(transport, Destination, tcp),
+ Protocol = Proto:tunneled_name(ProtoState, true),
{ok, #{
ref => StreamRef,
reply_to => ReplyTo,
state => running,
tunnel => #{
transport => Transport,
- protocol => Proto:tunneled_name(ProtoState, true),
- origin_scheme => case Transport of
- tcp -> <<"http">>;
- tls -> <<"https">>
+ protocol => Protocol,
+ origin_scheme => case {Transport, Protocol} of
+ {_, raw} -> undefined;
+ {tcp, _} -> <<"http">>;
+ {tls, _} -> <<"https">>
end,
origin_host => OriginHost,
origin_port => OriginPort