@@ -7,14 +7,20 @@ defmodule ExTwitter.API.Auth do
7
7
def request_token ( redirect_url \\ nil ) do
8
8
oauth = ExTwitter.Config . get_tuples |> verify_params
9
9
params = if redirect_url , do: [ { "oauth_callback" , redirect_url } ] , else: [ ]
10
- { :ok , { { _ , 200 , _ } , _headers , body } } =
10
+ response =
11
11
ExTwitter.OAuth . request ( :post , request_url ( "oauth/request_token" ) ,
12
12
params , oauth [ :consumer_key ] , oauth [ :consumer_secret ] , "" , "" )
13
13
14
- Elixir.URI . decode_query ( to_string body )
15
- |> Enum . map ( fn { k , v } -> { String . to_atom ( k ) , v } end )
16
- |> Enum . into ( % { } )
17
- |> ExTwitter.Parser . parse_request_token
14
+ case response do
15
+ { :ok , { { _ , 200 , _ } , _headers , body } } ->
16
+ token =
17
+ Elixir.URI . decode_query ( to_string body )
18
+ |> Enum . map ( fn { k , v } -> { String . to_atom ( k ) , v } end )
19
+ |> Enum . into ( % { } )
20
+ |> ExTwitter.Parser . parse_request_token
21
+ { :ok , token }
22
+ _ -> { :error , :unknown }
23
+ end
18
24
end
19
25
20
26
def authorize_url ( oauth_token , options \\ % { } ) do
@@ -32,16 +38,16 @@ defmodule ExTwitter.API.Auth do
32
38
def access_token ( verifier , request_token ) do
33
39
oauth = ExTwitter.Config . get_tuples |> verify_params
34
40
response = ExTwitter.OAuth . request ( :post , request_url ( "oauth/access_token" ) ,
35
- [ oauth_verifier: verifier ] , oauth [ :consumer_key ] , oauth [ :consumer_secret ] , request_token , nil )
41
+ [ { " oauth_verifier" , verifier } ] , oauth [ :consumer_key ] , oauth [ :consumer_secret ] , request_token , nil )
36
42
case response do
37
43
{ :ok , { { _ , 200 , _ } , _headers , body } } ->
38
44
access_token = Elixir.URI . decode_query ( to_string body )
39
45
|> Enum . map ( fn { k , v } -> { String . to_atom ( k ) , v } end )
40
46
|> Enum . into ( % { } )
41
47
|> ExTwitter.Parser . parse_access_token
42
48
{ :ok , access_token }
43
- { :ok , { { _ , code , _ } , _ , _ } } ->
44
- { :error , code }
49
+ _ -> { :error , :unknown }
45
50
end
46
51
end
47
52
end
53
+
0 commit comments