k8s v0.2.5 K8s.Client.HTTPProvider
HTTPoison and Jason based K8s.Behaviours.HTTPProvider
Link to this section Summary
Functions
Handle HTTPoison responses and errors
Appends Accept
and Content-Type
headers to K8s.Conf.RequestOptions
headers.
Link to this section Functions
Link to this function
handle_response(resp)
Handle HTTPoison responses and errors
Examples
Parses successful JSON responses:
iex> body = ~s({"foo": "bar"})
...> K8s.Client.HTTPProvider.handle_response({:ok, %HTTPoison.Response{status_code: 200, body: body}})
{:ok, %{"foo" => "bar"}}
Handles unauthorized responses:
iex> K8s.Client.HTTPProvider.handle_response({:ok, %HTTPoison.Response{status_code: 401}})
{:error, :unauthorized}
Handles not found responses:
iex> K8s.Client.HTTPProvider.handle_response({:ok, %HTTPoison.Response{status_code: 404}})
{:error, :not_found}
Handles 4xx responses:
iex> K8s.Client.HTTPProvider.handle_response({:ok, %HTTPoison.Response{status_code: 410, body: "Gone"}})
{:error, "HTTP Error: 410; Gone"}
Handles HTTPoison error responses:
iex> K8s.Client.HTTPProvider.handle_response({:error, %HTTPoison.Error{reason: "Foo"}})
{:error, "HTTP Client Error: Foo"}
Link to this function
headers(ro)
Appends Accept
and Content-Type
headers to K8s.Conf.RequestOptions
headers.
Example
iex> ro = %K8s.Conf.RequestOptions{headers: [{"Authorization", "Basic AF"}]}
...> K8s.Client.HTTPProvider.headers(ro)
[{"Authorization", "Basic AF"},{"Accept", "application/json"}, {"Content-Type", "application/json"}]