Example #1
0
        public static async Task <WebRequest> GetWebRequest(string url, string method, IRequestCreateOptions <T> requestCreateOptions, bool useBearer = false)
        {
            var request = (HttpWebRequest)WebRequest.Create(url);

            try
            {
                var content = string.Empty;
                if (requestCreateOptions.Content != null)
                {
                    content = Mapper <T> .MapObjectToJsonString(requestCreateOptions.Content);
                }

                request.Method        = method;
                request.ContentLength = content.Length;
                request.ContentType   = requestCreateOptions.ContentType;
                if (!string.IsNullOrWhiteSpace(request.Accept))
                {
                    request.Accept = requestCreateOptions.Accept;
                }
                if (requestCreateOptions.Content != null)
                {
                    foreach (var header in requestCreateOptions.Header)
                    {
                        request.Headers.Add(GetAuthorizationHeader(header.Value, useBearer));
                    }
                }
                request.UserAgent = requestCreateOptions.UserAgent;

                if (!string.IsNullOrWhiteSpace(content))
                {
                    StreamWriter myWriter = null;
                    myWriter = new StreamWriter(await request.GetRequestStreamAsync().ConfigureAwait(false));
                    myWriter.Write(content);
                    myWriter.Close();
                }
            }
            catch (Exception ex)
            {
            }
            return(request);
        }
Example #2
0
        public static async Task <IHttpResponse> GetWebRequestProviderAsync(string url, IRequestCreateOptions <T> requestCreateOptions)
        {
            var request = HttpWebRequestHelpers <T> .GetWebRequest(url, "GET", requestCreateOptions).Result;

            return(await HttpWebRequestHelpers <T> .ExecuteWebRequest(request).ConfigureAwait(false));
        }