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); }
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)); }