Packages

Elixir client for the ORY Hydra administrative API

Current section

Files

Jump to
ory_hydra lib ory hydra client hackney.ex
Raw

lib/ory/hydra/client/hackney.ex

defmodule ORY.Hydra.Client.Hackney do
@behaviour ORY.Hydra.Client
@spec request(
ORY.Hydra.http_method_t(),
String.t(),
ORY.Hydra.http_headers_t(),
String.t(),
any
) :: { :ok, ORY.Hydra.Client.response_t() } | { :error, any }
def request(method, url, headers, body, opts) do
opts = opts ++ [:with_body]
response =
:hackney.request(
method,
url,
headers,
body,
opts
)
package(response)
end
defp package({ :ok, status_code, headers }) do
response = %{ body: "", headers: headers, status_code: status_code }
{ :ok, response }
end
defp package({ :ok, status_code, headers, body }) do
response = %{ body: body, headers: headers, status_code: status_code }
{ :ok, response }
end
defp package(otherwise) do
otherwise
end
end