diff options
| -rw-r--r-- | src/rebar3.erl | 12 | ||||
| -rw-r--r-- | src/rebar_pkg_resource.erl | 3 | ||||
| -rw-r--r-- | test/rebar_pkg_SUITE.erl | 8 | 
3 files changed, 17 insertions, 6 deletions
| diff --git a/src/rebar3.erl b/src/rebar3.erl index 5c0559f..c501709 100644 --- a/src/rebar3.erl +++ b/src/rebar3.erl @@ -272,4 +272,14 @@ start_and_load_apps() ->      application:start(asn1),      application:start(public_key),      application:start(ssl), -    inets:start(). +    inets:start(), +    inets:start(httpc, [{profile, hex}]), +    http_opts(). + +http_opts() -> +    Opts = [{max_sessions, 4}, +            {max_keep_alive_length, 4}, +            {keep_alive_timeout, 120000}, +            {max_pipeline_length, 4}, +            {pipeline_timeout, 60000}], +    httpc:set_options(Opts, hex). diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl index 59ce0dc..5b37788 100644 --- a/src/rebar_pkg_resource.erl +++ b/src/rebar_pkg_resource.erl @@ -95,7 +95,8 @@ make_vsn(_) ->  request(Url, ETag) ->      case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]},                         [{relaxed, true}], -                       [{body_format, binary}]) of +                       [{body_format, binary}], +                       hex) of          {ok, {{_Version, 200, _Reason}, Headers, Body}} ->              ?DEBUG("Successfully downloaded ~s", [Url]),              {"etag", ETag1} = lists:keyfind("etag", 1, Headers), diff --git a/test/rebar_pkg_SUITE.erl b/test/rebar_pkg_SUITE.erl index 95eb6f6..85bd6f0 100644 --- a/test/rebar_pkg_SUITE.erl +++ b/test/rebar_pkg_SUITE.erl @@ -61,7 +61,7 @@ init_per_testcase(good_disconnect=Name, Config0) ->      copy_to_cache(Pkg, Config),      meck:unload(httpc),      meck:new(httpc, [passthrough, unsticky]), -    meck:expect(httpc, request, fun(_, _, _, _) -> {error, econnrefused} end), +    meck:expect(httpc, request, fun(_, _, _, _, _) -> {error, econnrefused} end),      Config;  init_per_testcase(bad_disconnect=Name, Config0) ->      Pkg = {<<"goodpkg">>, <<"1.0.0">>}, @@ -71,7 +71,7 @@ init_per_testcase(bad_disconnect=Name, Config0) ->      Config = mock_config(Name, Config1),      meck:unload(httpc),      meck:new(httpc, [passthrough, unsticky]), -    meck:expect(httpc, request, fun(_, _, _, _) -> {error, econnrefused} end), +    meck:expect(httpc, request, fun(_, _, _, _, _) -> {error, econnrefused} end),      Config.  end_per_testcase(_, Config) -> @@ -186,9 +186,9 @@ mock_config(Name, Config) ->      {ok, PkgContents} = file:read_file(filename:join(?config(data_dir, Config), PkgFile)),      meck:new(httpc, [passthrough, unsticky]),      meck:expect(httpc, request, -            fun(get, {_Url, _Opts}, _, _) when GoodCache -> +            fun(get, {_Url, _Opts}, _, _, _) when GoodCache ->                  {ok, {{Vsn, 304, <<"Not Modified">>}, [{"etag", ?good_etag}], <<>>}}; -               (get, {_Url, _Opts}, _, _) -> +               (get, {_Url, _Opts}, _, _, _) ->                  {ok, {{Vsn, 200, <<"OK">>}, [{"etag", ?good_etag}], PkgContents}}              end),      [{cache_root, CacheRoot}, | 
