...rs RFA
How to connect HttpClient class of opendac like below class to RFA API class
public class HttpClient
{
public static void Main(string[] args)
{
string url = "";
while (true)
{
string curLine = "";
string urlError = "Please enter a valid URL";
Console.Write("Enter ODPS URL > ");
try
{
curLine = Console.ReadLine().Trim();
}
catch (IOException)
{
Environment.Exit(0);
}
if (curLine.Length < 8 || !curLine.StartsWith("http://"))
{
Console.WriteLine(urlError);
continue;
}
if (!curLine.EndsWith("/"))
{
url = curLine + "/";
}
else
{
url = curLine;
}
break;
}
bool usePersistent = true;
while (true)
{
string curLine = "";
string inputError = "Please enter only a character from y, Y, n, and N";
Console.Write("Use persistent connection (y, n) > ");
try
{
curLine = Console.ReadLine().Trim();
}
catch (IOException)
{
Environment.Exit(0);
}
if (curLine.Equals("n", StringComparison.OrdinalIgnoreCase))
{
usePersistent = false;
}
else if (!curLine.Equals("y", StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine(inputError);
continue;
}
break;
}
if (!usePersistent)
{
ServicePointManager.Expect100Continue = false;
ServicePointManager.DefaultConnectionLimit = 1000; // You can adjust this value based on your requirement
ServicePointManager.MaxServicePoints = 1000; // You can adjust this value based on your requirement
ServicePointManager.UseNagleAlgorithm = false;
ServicePointManager.EnableDnsRoundRobin = true;
ServicePointManager.SetTcpKeepAlive(false, 0, 0);
}
while (true)
{
Console.Write("ODPS command > ");
string curLine = Console.ReadLine().Trim();
if (curLine.Length == 0)
{
continue;
}
if (curLine.StartsWith("q", StringComparison.OrdinalIgnoreCase))
{
break;
}
string sendUrl = url + curLine;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
}
response.Close();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError)
{
Console.WriteLine("Error contacting ODPS: " + ((HttpWebResponse)e.Response).StatusCode);
}
else
{
Console.WriteLine("Error contacting ODPS: " + e.Message);
}
}
catch (Exception e)
{
Console.WriteLine("Error contacting ODPS: " + e.Message);
}
}
}
}