Packages
hackney
3.2.1
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
Security advisory:
This version has known vulnerabilities.
View advisories
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 (prometheus, quic)
{xref_ignores, [
%% prometheus (optional metrics backend)
{prometheus_counter, inc, 3},
{prometheus_counter, declare, 1},
{prometheus_gauge, set, 3},
{prometheus_gauge, inc, 2},
{prometheus_gauge, dec, 2},
{prometheus_gauge, declare, 1},
{prometheus_histogram, observe, 3},
{prometheus_histogram, declare, 1},
%% quic (HTTP/3 support)
{quic, connect, 4},
{quic, open_stream, 1},
{quic, open_unidirectional_stream, 1},
{quic, send_data, 4},
{quic, reset_stream, 3},
{quic, peername, 1},
{quic, sockname, 1},
{quic, close, 2},
{quic_connection, lookup, 1},
%% hackney_quic wrapper functions called by hackney_conn
{hackney_quic, connect, 4},
{hackney_quic, close, 2},
{hackney_quic, process, 1},
{hackney_quic, peername, 1},
{hackney_quic, sockname, 1},
{hackney_quic, setopts, 2},
%% hackney_h3 functions called by hackney_conn
{hackney_h3, send_request, 6},
{hackney_h3, send_request_headers, 5},
{hackney_h3, send_body_chunk, 4},
{hackney_h3, finish_send_body, 3},
{hackney_h3, parse_response_headers, 1}
]}.
{cover_enabled, true}.
{eunit_opts, [verbose]}.
{pre_hooks, [{clean, "rm -rf *~ */*~ */*.xfm test/*.beam"}]}.
{deps, [
%% Pure Erlang QUIC for HTTP/3 support
{quic, "~>0.10.2"},
{idna, "~>7.1.0"},
{mimerl, "~>1.4"},
{certifi, "~>2.16.0"},
{parse_trans, "3.4.1"},
{ssl_verify_fun, "~>1.1.0"}
]}.
{profiles, [{test, [
{deps, [{cowboy, "2.12.0"}, {jsx, "3.1.0"}]}
]}
]}.
{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/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"},
{source_ref, <<"master">>}
]}.
%% == Dialyzer ==
%%
{dialyzer, [
{warnings, [
% race_conditions,
no_return,
unmatched_returns,
error_handling%,
%unknown
]},
%% Exclude modules with optional dependencies
%% - hackney_metrics_prometheus: prometheus is optional
{exclude_mods, [hackney_metrics_prometheus]},
{base_plt_apps, [erts, stdlib, kernel, crypto, runtime_tools]},
{plt_apps, top_level_deps},
{plt_extra_apps, [quic]},
{plt_location, local},
{plt_prefix, "hackney"},
{base_plt_location, "."},
{base_plt_prefix, "hackney"}
]}.