Remove Access_Token procedure and its HTTP dependency at the same time.

One is now expected to use As_Header procedure.
3 files changed, 38 insertions(+), 50 deletions(-)

M src/oauth-easy.adb
M src/oauth-easy.ads
M src/twitter.adb
M src/oauth-easy.adb +1 -36
@@ 224,42 224,7 @@ package body OAuth.Easy is
         (To_String (Result), Context.Token, Context.Token_Secret);
    end Request_Token;
 
-   procedure Access_Token (Context      : in out OAuth_Context;
-                           URL          : in     String;
-                           Method       : in     String;
-                           Verifier     : in     String;
-                           User_Id      :    out Unbounded_String;
-                           Name         :    out Unbounded_String) is
-
-      Temp_Token : String := To_String (Context.Token);
-      Temp_Secret : String := To_String (Context.Token_Secret);
-      Params : OAuth.Parameter_List.List := OAuth.Parameter_List.Empty_List;
-      Digest_Val : SHA.Digest;
-      Base_Str : Unbounded_String;
-      Ctx : HMAC_SHA.HMAC_Context;
-      Sig : Unbounded_String;
-      H : Unbounded_String;
-      Result : Charbuf.Char_Buffer;
-      R_Code : Long_Integer;
-   begin
-      OAuth.Parameter_List.Append (Params, (Key => +"oauth_verifier",
-                                            Value => +Verifier));
-      OAuth.Parameter_Sorting.Sort (Params);
-      As_Header (Context, URL, Method, Params, H);
-      
-      -- Put_Line ("Header: " & To_String (H));
-      HTTP.Get_Page
-        (URL => URL,
-         Header_Key => "Authorization",
-         Header_Value => To_String (H),
-         Contents => Result,
-         Response_Code => R_Code);
-      -- Put_Line ("Result: " & To_String (Result));
-      Parse_Access_Token
-        (To_String (Result), Context.Token, Context.Token_Secret,
-         User_Id, Name);
-   end Access_Token;
-
+   -- OAuth info for access token returned as header suitable for HTTP request
    procedure As_Header (Context    : in out OAuth_Context;
                         URL        : in     String;
                         Method     : in     String;

          
M src/oauth-easy.ads +6 -7
@@ 19,18 19,17 @@ package OAuth.Easy is
    procedure Init (Context         :    out OAuth_Context;
                    Consumer_Key    : in     String;
                    Consumer_Secret : in     String);
+   
+   procedure Parse_Access_Token (Input   : String;
+                                 Token   : out Unbounded_String;
+                                 Secret  : out Unbounded_String;
+                                 User_Id : out Unbounded_String;
+                                 Name    : out Unbounded_String);
 
    procedure Request_Token (Context      : in out OAuth_Context;
                             URL          : in     String;
                             Method       : in     String);
 
-   procedure Access_Token (Context      : in out OAuth_Context;
-                           URL          : in     String;
-                           Method       : in     String;
-                           Verifier     : in     String;
-                           User_Id      :    out Unbounded_String;
-                           Name         :    out Unbounded_String);
-
    procedure As_Header (Context    : in out OAuth_Context;
                         URL        : in     String;
                         Method     : in     String;

          
M src/twitter.adb +31 -7
@@ 58,17 58,41 @@ package body Twitter is
                             PIN     : String;
                             User_Id : in out Unbounded_String;
                             Name    : in out Unbounded_String) is
+      use OAuth;
+
+      Extra_Params : Parameter_List.List := Parameter_List.Empty_List;
+      Result : Charbuf.Char_Buffer;
+      OAuth_Header : Unbounded_String;
+      R_Code : Long_Integer;
+      Token : Unbounded_String;
+      Token_Secret : Unbounded_String;
    begin
-      OAuth.Easy.Access_Token
+      OAuth.Parameter_List.Append
+        (Extra_Params, (Key => To_Unbounded_String ("oauth_verifier"),
+                        Value => To_Unbounded_String (PIN)));
+      OAuth.Easy.As_Header
         (Context  => Manager.C,
          URL      => Access_Token_URL (Microblog),
          Method   => "GET",
-         Verifier => PIN,
-         User_Id  => User_Id,
-         Name     => Name);
-      Secrets.Set_Token (Microblog, To_String (OAuth.Easy.Get_Token (Manager.C)));
-      Secrets.Set_Token_Secret
-        (Microblog, To_String (OAuth.Easy.Get_Token_Secret (Manager.C)));
+         Parameters => Extra_Params,
+         Header     => OAuth_Header);
+      HTTP.Get_Page
+        (URL           => Access_Token_URL (Microblog),
+         Header_Key    => "Authorization",
+         Header_Value  => To_String (OAuth_Header),
+         Contents      => Result,
+         Response_Code => R_Code);
+      Put_Line ("Access_Token: " & Charbuf.To_String (Result));
+      OAuth.Easy.Parse_Access_Token
+        (Input => Charbuf.To_String (Result),
+         Token => Token,
+         Secret => Token_Secret,
+         User_Id => User_Id,
+         Name => Name);
+      OAuth.Easy.Set_Token (Manager.C, To_String (Token));
+      OAuth.Easy.Set_Token_Secret (Manager.C, To_String (Token_Secret));
+      Secrets.Set_Token (Microblog, To_String (Token));
+      Secrets.Set_Token_Secret (Microblog, To_String (Token_Secret));
    end Auth_Give_PIN;
 
    procedure Homeline (Manager : in out Twitter_Type;