fixed http request halting the main thread
This commit is contained in:
@@ -461,7 +461,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public string RequestPostHTTP(string url, string data, string contentType = "application/json")
|
public void RequestPostHTTP(string url, object callback, string data, string contentType = "application/json")
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -472,27 +472,35 @@ namespace Barotrauma
|
|||||||
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
||||||
streamWriter.Write(data);
|
streamWriter.Write(data);
|
||||||
|
|
||||||
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
httpWebRequest.BeginGetResponse(new AsyncCallback((IAsyncResult result) =>
|
||||||
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
{
|
||||||
return streamReader.ReadToEnd();
|
var httpResponse = httpWebRequest.EndGetResponse(result);
|
||||||
|
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
||||||
|
env.CallFunction(callback, new object[] { streamReader.ReadToEnd() });
|
||||||
|
}), null);
|
||||||
|
|
||||||
}catch(Exception e)
|
}catch(Exception e)
|
||||||
{
|
{
|
||||||
return e.ToString();
|
env.CallFunction(callback, new object[] { e.ToString() });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string RequestGetHTTP(string url)
|
public void RequestGetHTTP(string url, object callback)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
|
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
|
||||||
|
|
||||||
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
httpWebRequest.BeginGetResponse(new AsyncCallback((IAsyncResult result) =>
|
||||||
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
{
|
||||||
return streamReader.ReadToEnd();
|
var httpResponse = httpWebRequest.EndGetResponse(result);
|
||||||
}catch(Exception e)
|
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
||||||
|
env.CallFunction(callback, new object[] { streamReader.ReadToEnd() });
|
||||||
|
}), null);
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
return e.ToString();
|
env.CallFunction(callback, new object[] { e.ToString() });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user