Packages
extwitter
0.1.2
0.14.0
0.13.1
0.13.0
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.0
0.10.0
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.1
0.2.0
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Twitter client library for Elixir.
Current section
Files
Jump to
Current section
Files
lib/extwitter/api/base.ex
defmodule ExTwitter.API.Base do
@moduledoc """
Provides basic and common functionalities for Twitter API.
"""
@doc """
Send API request to the twitter server.
"""
def request(method, path, params \\ []) do
oauth = ExTwitter.Config.get_tuples |> verify_params
consumer = {oauth[:consumer_key], oauth[:consumer_secret], :hmac_sha1}
ExTwitter.OAuth.request(method, request_url(path), params, consumer, oauth[:access_token], oauth[:access_token_secret])
|> parse_result
end
def verify_params([]) do
raise ExTwitter.Error.new(
message: "OAuth parameters are not set. Use ExTwitter.Configure function to set parameters in advance.")
end
def verify_params(params), do: params
defp request_url(path) do
"https://api.twitter.com/#{path}" |> to_char_list
end
defp parse_result(result) do
{:ok, {_response, _header, body}} = result
to_string(body) |> ExTwitter.JSON.decode_and_verify
end
end