Current section
Files
Jump to
Current section
Files
lib/yodlee.ex
import Logger
defmodule Yodlee do
use Application
@request_handler Application.get_env(:yodlee, :request_handler)
def start do
@request_handler.start
Yodlee.Supervisor.start_link
end
def start(_type, _process) do
start
end
def make_request(method, endpoint, body \\ [], headers \\ [], options \\ []) do
complete_headers = List.flatten(headers, [
"Content-Type": "application/json",
"accept": "application/json"
])
case method do
"get" ->
complete_endpoint = "#{endpoint}?#{URI.encode_query(body)}"
case @request_handler.make_request(method, complete_endpoint, %{}, complete_headers, options) do
{:ok, resp} ->
{:ok, resp}
{:error, errorResp} ->
{:error, errorResp[:Error]}
end
_ ->
case @request_handler.make_request(method, endpoint, body, complete_headers, options) do
{:ok, resp} ->
{:ok, resp}
{:error, errorResp} ->
{:error, errorResp[:Error]}
end
end
end
end
Yodlee.start