Bläddra i källkod

Handle Schemaless Proxy URLs in ENV vars

We've had multiple tickets opened because of unclear PROXY settings when
the scheme is missing form the URI. To be helpful, we instead add them
dynamically whenever they're missing.

Example issues:
- https://github.com/erlang/rebar3/issues/1747
- https://github.com/erlang/rebar3/issues/1697
pull/1756/head
Fred Hebert 7 år sedan
förälder
incheckning
01eeda6c2c
1 ändrade filer med 9 tillägg och 1 borttagningar
  1. +9
    -1
      src/rebar_utils.erl

+ 9
- 1
src/rebar_utils.erl Visa fil

@ -854,10 +854,18 @@ set_httpc_options(_, []) ->
ok;
set_httpc_options(Scheme, Proxy) ->
{ok, {_, UserInfo, Host, Port, _, _}} = http_uri:parse(Proxy),
URI = normalise_proxy(Scheme, Proxy),
{ok, {_, UserInfo, Host, Port, _, _}} = http_uri:parse(URI),
httpc:set_options([{Scheme, {{Host, Port}, []}}], rebar),
set_proxy_auth(UserInfo).
normalise_proxy(Scheme, URI) ->
case re:run(URI, "://", [unicode]) of
nomatch when Scheme =:= https_proxy -> "https://" ++ URI;
nomatch when Scheme =:= proxy -> "http://" ++ URI;
_ -> URI
end.
url_append_path(Url, ExtraPath) ->
case http_uri:parse(Url) of
{ok, {Scheme, UserInfo, Host, Port, Path, Query}} ->

Laddar…
Avbryt
Spara