Tim Fletcher 16 лет назад
Родитель
Сommit
02659f954e
1 измененных файлов с 13 добавлено и 11 удалено
  1. 13 11
      src/oauth_request.erl

+ 13 - 11
src/oauth_request.erl

@@ -3,21 +3,23 @@
 -export([header/6, params_string/5, url/5]).
 
 
+header(Realm, Method, URL, ExtraParams, Consumer, TokenPair) ->
+  Params = signed_params(Method, URL, ExtraParams, Consumer, TokenPair),
+  HeaderString = oauth_params:to_header_string(Params),
+  HeaderValue = fmt:sprintf("OAuth realm=\"%s\", %s", [Realm, HeaderString]),
+  {"Authorization", HeaderValue}.
+
 params_string(Method, URL, ExtraParams, Consumer, TokenPair) ->
-  oauth_params:to_string(params(Method, URL, ExtraParams, Consumer, TokenPair)).
+  Params = signed_params(Method, URL, ExtraParams, Consumer, TokenPair),
+  oauth_params:to_string(Params).
 
 url(Method, URL, ExtraParams, Consumer, TokenPair) ->
-  fmt:sprintf("%s?%s", [URL, oauth_params:to_string(params(Method, URL, ExtraParams, Consumer, TokenPair))]).
-
-header(Realm, Method, URL, ExtraParams, Consumer, TokenPair) ->
-  SignedParams = params(Method, URL, ExtraParams, Consumer, TokenPair),
-  HeaderString = oauth_params:to_header_string(SignedParams),
-  {"Authorization", 
-   fmt:sprintf("OAuth realm=\"%s\", %s", [Realm, HeaderString])}.
+  Params = signed_params(Method, URL, ExtraParams, Consumer, TokenPair),
+  fmt:sprintf("%s?%s", [URL, oauth_params:to_string(Params)]).
 
-params(Method, URL, ExtraParams, Consumer, TokenPair) ->
+signed_params(Method, URL, ExtraParams, Consumer, TokenPair) ->
   {Params, TokenSecret} = oauth_params(TokenPair, Consumer, ExtraParams),
-  [{oauth_signature, sign(Method, URL, Params, Consumer, TokenSecret)}|Params].
+  [{oauth_signature, signature(Method, URL, Params, Consumer, TokenSecret)}|Params].
 
 oauth_params({[], TokenSecret}, Consumer, ExtraParams) ->
   {oauth_params(Consumer, ExtraParams), TokenSecret};
@@ -34,7 +36,7 @@ oauth_params(Consumer, ExtraParams) ->
     {oauth_version, "1.0"}
   ], ExtraParams).
 
-sign(RequestMethod, URL, Params, Consumer, TokenSecret) ->
+signature(RequestMethod, URL, Params, Consumer, TokenSecret) ->
   ConsumerSecret = oauth_consumer:secret(Consumer),
   case proplists:get_value(oauth_signature_method, Params) of
     "PLAINTEXT" ->