Просмотр исходного кода

Integrate oauth_signature with oauth_request.

Tim Fletcher 16 лет назад
Родитель
Сommit
198688dc33
2 измененных файлов с 9 добавлено и 19 удалено
  1. 9 2
      src/oauth_request.erl
  2. 0 17
      src/oauth_signature.erl

+ 9 - 2
src/oauth_request.erl

@@ -17,7 +17,7 @@ header(Realm, Method, URL, ExtraParams, Consumer, TokenPair) ->
 
 params(Method, URL, ExtraParams, Consumer, TokenPair) ->
   {Params, TokenSecret} = oauth_params(TokenPair, Consumer, ExtraParams),
-  [{oauth_signature, oauth_signature:new(Method, URL, Params, Consumer, TokenSecret)}|Params].
+  [{oauth_signature, sign(Method, URL, Params, Consumer, TokenSecret)}|Params].
 
 oauth_params({[], TokenSecret}, Consumer, ExtraParams) ->
   {oauth_params(Consumer, ExtraParams), TokenSecret};
@@ -34,4 +34,11 @@ oauth_params(Consumer, ExtraParams) ->
     {oauth_version, "1.0"}
   ], ExtraParams).
 
-
+sign(RequestMethod, URL, Params, Consumer, TokenSecret) ->
+  ConsumerSecret = oauth_consumer:secret(Consumer),
+  case proplists:get_value(oauth_signature_method, Params) of
+    "PLAINTEXT" ->
+      oauth_plaintext:signature(ConsumerSecret, TokenSecret);
+    "HMAC-SHA1" ->
+      oauth_hmac:signature({RequestMethod, URL, Params}, ConsumerSecret, TokenSecret)
+  end.

+ 0 - 17
src/oauth_signature.erl

@@ -1,17 +0,0 @@
--module(oauth_signature).
-
--export([new/5]).
-
-
-new(RequestMethod, URL, Params, ConsumerSecret, TokenSecret) when is_list(ConsumerSecret) ->
-  new(method(Params), RequestMethod, URL, Params, ConsumerSecret, TokenSecret);
-new(RequestMethod, URL, Params, Consumer, TokenSecret) ->
-  new(RequestMethod, URL, Params, oauth_consumer:secret(Consumer), TokenSecret).
-
-new("PLAINTEXT", _RequestMethod, _URL, _Params, ConsumerSecret, TokenSecret) ->
-  oauth_plaintext:signature(ConsumerSecret, TokenSecret);
-new("HMAC-SHA1", RequestMethod, URL, Params, ConsumerSecret, TokenSecret) ->
-  oauth_hmac:signature({RequestMethod, URL, Params}, ConsumerSecret, TokenSecret).
-
-method(Params) ->
-  proplists:get_value(oauth_signature_method, Params).