private object GetWebResponse(byte[] parameters)
#endif
{
WebRequest request = WebRequest.Create(URL);
try
{
request.Credentials = CredentialCache.DefaultCredentials;
#if !NETFX_CORE
request.Timeout = 10000;
ServicePointManager.ServerCertificateValidationCallback += (o, certificate, chain, errors) => true;
if (headers != null)
request.Headers.Add(headers);
#endif
if (contentType == ContentType.Form)
request.ContentType = "application/x-www-form-urlencoded";
else if (contentType == ContentType.JSON)
request.ContentType = "application/json";
if (requestType == RequestType.Get)
request.Method = "GET";
else if (requestType == RequestType.Post)
request.Method = "POST";
else if (requestType == RequestType.Put)
request.Method = "PUT";
else if (requestType == RequestType.Delete)
request.Method = "DELETE";
if (parameters != null)
{
#if NETFX_CORE
Stream inputStream = await request.GetRequestStreamAsync();
inputStream.Write(parameters, 0, parameters.Length);
#else
using (Stream inputStream = request.GetRequestStream())
{
inputStream.Write(parameters, 0, parameters.Length);
inputStream.Close();
inputStream.Dispose();
}
#endif
}
string responseFromServer = string.Empty;
#if NETFX_CORE
HttpWebResponse webResponse = (HttpWebResponse)request.GetResponseAsync().Result;
#else
try
{
using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
{
#endif
using (Stream dataStream = webResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(dataStream))
{
responseFromServer = reader.ReadToEnd();
#if !NETFX_CORE
reader.Close();
#endif
reader.Dispose();
}
#if !NETFX_CORE
dataStream.Close();
#endif
dataStream.Dispose();
}
#if NETFX_CORE
webResponse.Dispose();
#else
webResponse.Close();
}
}
catch (Exception e)
{
request.Abort();
#if NETFX_CORE
callback(e)
#else
return e;
#endif
}
#endif
request.Abort();
#if NETFX_CORE
callback(responseFromServer);
#else
return responseFromServer;
#endif
}
catch (Exception e)
{
request.Abort();
#if NETFX_CORE
callback(e);
#else
return e;
#endif
}
}