/// <summary> /// Retrieves bytes from the server /// </summary> /// <param name="settings"></param> /// <returns></returns> public static byte[] HttpRequestBytes(HttpRequestSettings settings) { var client = new HttpUtilsWebClient(settings); if (settings.Content != null) { if (!string.IsNullOrEmpty(settings.ContentType)) { client.Headers["Content-type"] = settings.ContentType; } if (settings.Content is string) { settings.CapturedRequestContent = settings.Content as string; settings.ResponseByteData = client.UploadData(settings.Url, settings.HttpVerb, settings.Encoding.GetBytes(settings.CapturedRequestContent)); } else if (settings.Content is byte[]) { settings.ResponseByteData = client.UploadData(settings.Url, settings.Content as byte[]); } else { throw new ArgumentException("Data must be either string or byte[]."); } } else { settings.ResponseByteData = client.DownloadData(settings.Url); } settings.Response = client.Response; return(settings.ResponseByteData); }