Packages
tesla
0.3.3
1.20.0
1.18.3
1.18.2
1.18.1
1.18.0
1.17.0
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.3
1.12.2
1.12.1
1.12.0
1.11.2
1.11.1
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
retired
1.8.0
1.7.0
1.6.1
1.6.0
1.5.1
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.0
1.0.0
1.0.0-beta.1
0.10.0
0.9.0
0.8.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.2.2
0.2.1
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
HTTP client library, with support for middleware and multiple adapters.
Current section
Files
Jump to
Current section
Files
lib/tesla/adapter/httpc.ex
defmodule Tesla.Adapter.Httpc do
def call(env) do
{:ok, {status, headers, body}} = request(env)
format_response(env, status, headers, body)
end
defp format_response(env, {_, status, _}, headers, body) do
headers = Enum.into(headers, %{})
%{env | status: status,
headers: headers,
body: body}
end
defp request(env) do
content_type = env.headers['Content-Type'] || ''
request(
env.method,
to_char_list(env.url),
Enum.into(env.headers, []),
content_type,
env.body
)
end
defp request(method, url, headers, _content_type, nil) do
:httpc.request(method, {url, headers}, [], [])
end
defp request(method, url, headers, content_type, body) do
:httpc.request(method, {url, headers, content_type, body}, [], [])
end
end