Example #1
0
        private async Task <WebResponse> BeginGetResponse()
        {
            var address = new Uri(Address.OriginalString.AddQueryParameters(QueryString));

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);

            request.Headers     = (WebHeaderCollection)Headers.OrDefault(new WebHeaderCollection());
            request.Method      = Method;
            request.ContentType = ContentType.OrDefault("application/x-www-form-urlencoded");
            request.Accept      = Accept.OrDefault("application/json");

            if (request.Method.ToUpper() == "POST" &&
                (Data != null ||
                 !String.IsNullOrEmpty(Content)))
            {
                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    var data = String.IsNullOrEmpty(Content)
                        ? new FormUrlEncodedContent(Data).ReadAsStringAsync().Result
                        : Content;

                    await streamWriter.WriteAsync(data);
                }
            }

            return(await request.GetResponseAsync());
        }