hackney
hackney copied to clipboard
Process exit signal when a invalid port is specified
When making a TCP request with a bad port, exit signal is chained to the parent process.
Environments:
OTP 20.3
Elixir 1.9.4
Httpoison 1.6.2
Hackney 1.15.2
Code:
HTTPoison.get "http://example.com:6500000"
Output:
Output of the caught exit signal:
{:function_clause,
[
{:inet_tcp, :do_connect,
[
{93, 184, 216, 34},
6500000,
[{:packet, :raw}, {:active, false}, :binary],
7998
], [file: 'inet_tcp.erl', line: 113]},
{:gen_tcp, :try_connect, 6, [file: 'gen_tcp.erl', line: 167]},
{:gen_tcp, :connect, 4, [file: 'gen_tcp.erl', line: 145]},
{:hackney_connect, :do_connect, 5,
[
file: '/home/daniel/test_app/deps/hackney/src/hackney_connect.erl',
line: 277
]},
{:hackney_connect, :connect, 5,
[
file: '/home/daniel/test_app/deps/hackney/src/hackney_connect.erl',
line: 47
]},
{:hackney, :request, 5,
[file: '/home/daniel/test_app/deps/hackney/src/hackney.erl', line: 333]},
{HTTPoison.Base, :request, 6, [file: 'lib/httpoison/base.ex', line: 796]},
{TestApp, :hello, 0, [file: 'lib/test_app.ex', line: 17]}
]}
Output of error:
** (exit) an exception was raised:
** (FunctionClauseError) no function clause matching in :inet_tcp.do_connect/4
(kernel) inet_tcp.erl:113: :inet_tcp.do_connect({93, 184, 216, 34}, 6500000, [{:packet, :raw}, {:active, false}, :binary], 7999)
(kernel) gen_tcp.erl:167: :gen_tcp.try_connect/6
(kernel) gen_tcp.erl:145: :gen_tcp.connect/4
(hackney) /home/daniel/test_app/deps/hackney/src/hackney_connect.erl:277: :hackney_connect.do_connect/5
(hackney) /home/daniel/test_app/deps/hackney/src/hackney_connect.erl:47: :hackney_connect.connect/5
(hackney) /home/daniel/test_app/deps/hackney/src/hackney.erl:333: :hackney.request/5
(httpoison) lib/httpoison/base.ex:796: HTTPoison.Base.request/6
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
(kernel) gen_tcp.erl:150: :gen_tcp.connect/4
(hackney) /home/daniel/test_app/deps/hackney/src/hackney_connect.erl:277: :hackney_connect.do_connect/5
(hackney) /home/daniel/test_app/deps/hackney/src/hackney_connect.erl:47: :hackney_connect.connect/5
(hackney) /home/daniel/test_app/deps/hackney/src/hackney.erl:333: :hackney.request/5
(httpoison) lib/httpoison/base.ex:796: HTTPoison.Base.request/6