Packages
hackney
4.4.2
4.7.2
4.7.1
4.7.0
4.6.1
4.6.0
4.5.2
4.5.1
4.5.0
4.4.5
4.4.3
4.4.2
4.4.1
4.4.0
4.3.0
4.2.3
4.2.2
4.2.1
4.2.0
4.1.0
4.0.3
4.0.2
4.0.1
4.0.0
3.2.1
3.2.0
3.1.2
3.1.1
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
retired
2.0.1
2.0.0
2.0.0-beta.1
1.25.0
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.1
1.20.0
1.19.1
1.19.0
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.0
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.0
1.13.0
1.12.1
1.12.0
1.11.0
1.10.1
1.10.0
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.0
1.7.1
1.7.0
1.6.6
retired
1.6.5
1.6.4
retired
1.6.3
1.6.2
1.6.1
1.6.0
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.10
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.0
1.0.6
1.0.5
1.0.2
1.0.1
0.15.2
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
Simple HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support
Current section
Files
Jump to
Current section
Files
rebar.config
%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ft=erlang ts=4 sw=4 et
{erl_opts, [debug_info,
{platform_define, "R14", no_callback_support},
{platform_define, "^[0-9]+", namespaced_types},
{platform_define, "^R", no_proxy_sni_support},
{platform_define, "^(1|(20))", no_customize_hostname_check},
{platform_define, "^20\.3", buggy_chacha_ciphers}
]}.
{erl_first_files,
["src/hackney_ssl_certificate.erl" % required by `hackney_ssl' at compile time
]}.
{xref_checks, [undefined_function_calls]}.
%% Ignore xref warnings for optional dependencies (quic)
{xref_ignores, [
%% quic / quic_h3 (HTTP/3 support)
{quic_h3, connect, 3},
{quic_h3, request, 2},
{quic_h3, send_data, 4},
{quic_h3, cancel, 3},
{quic_h3, close, 1},
{quic_h3, get_quic_conn, 1},
{quic_h3, early_data_accepted, 1},
{quic, peername, 1},
{quic, sockname, 1},
{quic, peercert, 1},
%% hackney_h3 functions called by hackney_conn
{hackney_h3, connect, 4},
{hackney_h3, close, 2},
{hackney_h3, process, 1},
{hackney_h3, send_request, 3},
{hackney_h3, send_request, 6},
{hackney_h3, send_request_headers, 5},
{hackney_h3, send_data, 4},
{hackney_h3, send_body_chunk, 4},
{hackney_h3, finish_send_body, 3},
{hackney_h3, parse_response_headers, 1},
{hackney_h3, peername, 1},
{hackney_h3, sockname, 1},
{hackney_h3, peercert, 1},
{hackney_h3, early_data_accepted, 1},
{hackney_h3, get_session_ticket, 1},
{hackney_h3, wait_session_ticket, 2}
]}.
{cover_enabled, true}.
{eunit_opts, [verbose]}.
{pre_hooks, [{clean, "rm -rf *~ */*~ */*.xfm test/*.beam"}]}.
{deps, [
%% Pure Erlang QUIC + HTTP/3 stack
{quic, "~>1.6.5"},
%% Pure Erlang HTTP/2 stack
{h2, "~>0.10.1"},
%% WebTransport client (HTTP/3 and HTTP/2) - powers the wt_* API
{webtransport, "~>0.4.1"},
{idna, "~>7.1.0"},
{mimerl, "~>1.4"},
{certifi, "~>2.17.0"},
{parse_trans, "3.4.2"},
{ssl_verify_fun, "~>1.1.0"}
]}.
{profiles, [{test, [
{deps, [{cowboy, "2.16.0"}, {jsx, "3.1.0"}]},
%% rebar3 can't parse cowboy 2.13+ Elixir-style ">= X and < Y"
%% reqs for cowlib/ranch; override with bare names so rebar3
%% resolves them itself (rebar3#2364).
{overrides, [{override, cowboy, [{deps, [cowlib, ranch]}]}]}
]}
]}.
{hex, [
{doc, #{provider => ex_doc}}
]}.
{project_plugins, [rebar3_ex_doc]}.
{ex_doc, [
{extras, [
{"README.md", #{title => "Overview"}},
{"GETTING_STARTED.md", #{title => "Getting Started"}},
{"guides/http_guide.md", #{title => "HTTP Guide"}},
{"guides/http2_guide.md", #{title => "HTTP/2 Guide"}},
{"guides/http3_guide.md", #{title => "HTTP/3 Guide"}},
{"guides/websocket_guide.md", #{title => "WebSocket Guide"}},
{"guides/webtransport_guide.md", #{title => "WebTransport Guide"}},
{"guides/middleware.md", #{title => "Middleware Guide"}},
{"guides/design.md", #{title => "Design Guide"}},
{"guides/MIGRATION.md", #{title => "Migration Guide"}},
{"NEWS.md", #{title => "Changelog"}},
{"CONTRIBUTING.md", #{title => "Contributing"}},
{"DEVELOPMENT.md", #{title => "Development"}},
{"LICENSE", #{title => "License"}},
{"NOTICE", #{title => "Notice"}}
]},
{main, "README.md"},
{source_url, "https://github.com/benoitc/hackney"},
%% Historical release notes reference functions that have since been
%% removed; suppress those auto-link warnings.
{skip_undefined_reference_warnings_on, ["NEWS.md", "guides/MIGRATION.md"]}
]}.
%% == Dialyzer ==
%%
{dialyzer, [
{warnings, [
% race_conditions,
no_return,
unmatched_returns,
error_handling%,
%unknown
]},
{base_plt_apps, [erts, stdlib, kernel, crypto, runtime_tools]},
{plt_apps, top_level_deps},
{plt_extra_apps, [quic, h2, webtransport]},
{plt_location, local},
{plt_prefix, "hackney"},
{base_plt_location, "."},
{base_plt_prefix, "hackney"}
]}.