Apachai.OAuth.AcquireRequestToken C# (CSharp) Method

AcquireRequestToken() public method

public AcquireRequestToken ( ) : Task
return Task
        public Task<OAuthToken> AcquireRequestToken()
        {
            var headers = new Dictionary<string,string> () {
                { "oauth_callback", PercentEncode (config.UrlCallback) },
                { "oauth_consumer_key", config.ConsumerKey },
                { "oauth_nonce", MakeNonce () },
                { "oauth_signature_method", "HMAC-SHA1" },
                { "oauth_timestamp", MakeTimestamp () },
                { "oauth_version", "1.0" }};

            string signature = MakeSignature ("POST", RequestUrl, headers);
            string compositeSigningKey = MakeSigningKey (config.ConsumerSecret, null);
            string oauth_signature = MakeOAuthSignature (compositeSigningKey, signature);

            var wc = new WebClient ();
            headers.Add ("oauth_signature", OAuth.PercentEncode (oauth_signature));
            wc.Headers [HttpRequestHeader.Authorization] = HeadersToOAuth (headers);

            return Task<OAuthToken>.Factory.StartNew (() => {
                    try {
                        ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => true;
                        ServicePointManager.Expect100Continue = false;

                        var result = HttpUtility.ParseQueryString (wc.UploadString (new Uri (RequestUrl), string.Empty));
                        OAuthToken token = new OAuthToken (result["oauth_token"], result["oauth_token_secret"]);
                        return token;
                    } catch (WebException e) {
                        Console.WriteLine ("Request token error");
                        Console.WriteLine (e.ToString ());
                        var x = e.Response.GetResponseStream ();
                        var j = new System.IO.StreamReader (x);
                        Console.WriteLine (j.ReadToEnd ());
                        throw e;
                    }
                });
        }