BeardedManStudios.Network.HTTP.GetWebResponse C# (CSharp) Method

GetWebResponse() private method

private GetWebResponse ( byte parameters ) : object
parameters byte
return object
		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
			}
		}

Same methods

HTTP::GetWebResponse ( byte parameters, Action callback ) : void