Current section

Files

Jump to
spotify_ex lib spotify client.ex
Raw

lib/spotify/client.ex

defmodule Spotify.Client do
@moduledoc false
def get(conn_or_creds, url) do
HTTPoison.get(url, get_headers(conn_or_creds))
end
def put(conn_or_creds, url, body \\ "") do
HTTPoison.put(url, body, put_headers(conn_or_creds))
end
def post(conn_or_creds, url, body \\ "") do
HTTPoison.post(url, body, post_headers(conn_or_creds))
end
def delete(conn_or_creds, url) do
HTTPoison.delete(url, delete_headers(conn_or_creds))
end
def get_headers(conn_or_creds) do
[{"Authorization", "Bearer #{access_token(conn_or_creds)}"}]
end
def put_headers(conn_or_creds) do
[
{"Authorization", "Bearer #{access_token(conn_or_creds)}"},
{"Content-Type", "application/json"}
]
end
defp access_token(conn_or_creds) do
Spotify.Credentials.new(conn_or_creds).access_token
end
def post_headers(conn_or_creds), do: put_headers(conn_or_creds)
def delete_headers(conn_or_creds), do: get_headers(conn_or_creds)
end