FlickrNet.FlickrResponder.DownloadDataAsync C# (CSharp) Méthode

DownloadDataAsync() private static méthode

private static DownloadDataAsync ( string method, string hashCall, string baseUrl, string data, string contentType, string authHeader ) : Task>
method string
hashCall string
baseUrl string
data string
contentType string
authHeader string
Résultat Task>
        private async static Task<FlickrResult<string>> DownloadDataAsync(string method,string hashCall, string baseUrl, string data, string contentType, string authHeader)
        {
            Debug.WriteLine("DownloadDataAsync [START] - " + baseUrl + " ====== ");
            Debug.WriteLine(data);


            FlickrResult<string> result = new FlickrResult<string>();
            result.HashCall = hashCall;


            HttpWebRequest client = (HttpWebRequest)HttpWebRequest.CreateHttp(baseUrl);
            //HttpWebRequest client = (HttpWebRequest)HttpWebRequest.Create(baseUrl);


            client.Headers["HTTP_USER_AGENT"] = Flickr.UserAgent;
            if (!String.IsNullOrEmpty(contentType)) client.ContentType = contentType;//client.Headers["Content-Type"] = contentType;
            if (!String.IsNullOrEmpty(authHeader)) client.Headers["Authorization"] = authHeader;
            client.Method = method;
            //client.ContentType = contentType;
            
            if (method == "POST")
            {
                #region old1
                //IAsyncResult requestResult = client.BeginGetRequestStream(requestAsyncResult =>
                //{

                //    using (Stream s = client.EndGetRequestStream(requestAsyncResult))
                //    {
                //        using (StreamWriter sw = new StreamWriter(s))
                //        {
                //            sw.Write(data);
                //        }
                //    }



                //    IAsyncResult responseResult = client.BeginGetResponse(responseAsyncResult =>
                //    {
                //        Debug.WriteLine("DownloadDataAsync [FINISH] - " + baseUrl);
                //        Debug.WriteLine(data);

                //        FlickrResult<string> result = new FlickrResult<string>();
                //        result.HashCall = hashCall;
                //        try
                //        {
                //            using(HttpWebResponse response = (HttpWebResponse)client.EndGetResponse(responseAsyncResult))
                //            {
                //                using (StreamReader sr = new StreamReader(response.GetResponseStream()))
                //                {
                //                    string responseXml = sr.ReadToEnd();

                //                    result.Result = responseXml;
                //                    callback(result);
                //                }
                //            }

                //        }
                //        catch (Exception ex)
                //        {

                //            result.Error = ex;
                //            callback(result);
                //            return;
                //        }
                //    }, null);


                //},null);
                #endregion

                var requestStream = await client.GetRequestStreamAsync();
                using (StreamWriter sw = new StreamWriter(requestStream)) sw.Write(data);

                var response = await client.GetResponseAsync();
                using (StreamReader sr = new StreamReader(response.GetResponseStream())) result.Result = sr.ReadToEnd();

            }
            else
            {
                #region old1
                //IAsyncResult responseResult = client.BeginGetResponse(responseAsyncResult =>
                //{
                //    FlickrResult<string> result = new FlickrResult<string>();
                //    result.HashCall = hashCall;
                //    try
                //    {
                //        using (HttpWebResponse response = (HttpWebResponse)client.EndGetResponse(responseAsyncResult))
                //        {
                //            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
                //            {
                //                string responseXml = sr.ReadToEnd();

                //                result.Result = responseXml;
                //                callback(result);
                //            }
                //        }

                //    }
                //    catch (Exception ex)
                //    {

                //        result.Error = ex;
                //        callback(result);
                //        return;
                //    }
                //}, null);
                #endregion

                var response = await client.GetResponseAsync();
                using (StreamReader sr = new StreamReader(response.GetResponseStream())) result.Result = sr.ReadToEnd();
                
            }
            
            return result;
        }

Usage Example

        public async Task <OAuthRequestToken> OAuthRequestTokenAsync(string callbackUrl)
        {
            const string url = "https://www.flickr.com/services/oauth/request_token";

            IDictionary <string, string> parameters = new Dictionary <string, string>();

            FlickrResponder.OAuthGetBasicParameters(parameters);
            parameters.Add("oauth_callback", callbackUrl);
            parameters.Add("oauth_consumer_key", ApiKey);

            var sig = OAuthCalculateSignature("POST", url, parameters, null);

            parameters.Add("oauth_signature", sig);

            var data       = FlickrResponder.OAuthCalculatePostData(parameters);
            var authHeader = FlickrResponder.OAuthCalculateAuthHeader(parameters);

            var response = await FlickrResponder.DownloadDataAsync("POST", url, data, null, authHeader);

            return(OAuthRequestToken.ParseResponse(response));
        }
All Usage Examples Of FlickrNet.FlickrResponder::DownloadDataAsync