http request support
This commit is contained in:
@@ -7,6 +7,7 @@ using Barotrauma.Networking;
|
||||
using System.Threading.Tasks;
|
||||
using Barotrauma.Items.Components;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
@@ -418,6 +419,51 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
|
||||
private class LuaNetworking
|
||||
{
|
||||
public LuaSetup env;
|
||||
|
||||
public LuaNetworking(LuaSetup e)
|
||||
{
|
||||
env = e;
|
||||
}
|
||||
|
||||
public string RequestPostHTTP(string url, string data, string contentType = "application/json")
|
||||
{
|
||||
try
|
||||
{
|
||||
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
|
||||
httpWebRequest.ContentType = contentType;
|
||||
httpWebRequest.Method = "POST";
|
||||
|
||||
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
||||
streamWriter.Write(data);
|
||||
|
||||
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
||||
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
||||
return streamReader.ReadToEnd();
|
||||
}catch(Exception e)
|
||||
{
|
||||
return e.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public string RequestGetHTTP(string url)
|
||||
{
|
||||
try
|
||||
{
|
||||
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
|
||||
|
||||
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
||||
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
||||
return streamReader.ReadToEnd();
|
||||
}catch(Exception e)
|
||||
{
|
||||
return e.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// hooks:
|
||||
// chatMessage
|
||||
// think
|
||||
|
||||
@@ -125,6 +125,7 @@ namespace Barotrauma
|
||||
UserData.RegisterType<LuaRandom>();
|
||||
UserData.RegisterType<LuaTimer>();
|
||||
UserData.RegisterType<LuaFile>();
|
||||
UserData.RegisterType<LuaNetworking>();
|
||||
UserData.RegisterType<Vector2>();
|
||||
UserData.RegisterType<Vector3>();
|
||||
UserData.RegisterType<Vector4>();
|
||||
@@ -161,7 +162,8 @@ namespace Barotrauma
|
||||
UserData.RegisterType<StatusEffect>();
|
||||
UserData.RegisterType<CustomInterface.CustomInterfaceElement>();
|
||||
UserData.RegisterType<FireSource>();
|
||||
|
||||
|
||||
|
||||
lua = new Script(CoreModules.Preset_SoftSandbox | CoreModules.LoadMethods);
|
||||
|
||||
lua.Options.DebugPrint = PrintMessage;
|
||||
@@ -178,6 +180,7 @@ namespace Barotrauma
|
||||
lua.Globals["Random"] = new LuaRandom();
|
||||
lua.Globals["Timer"] = new LuaTimer(this);
|
||||
lua.Globals["File"] = UserData.CreateStatic<LuaFile>();
|
||||
lua.Globals["Networking"] = new LuaNetworking(this);
|
||||
lua.Globals["WayPoint"] = UserData.CreateStatic<WayPoint>();
|
||||
lua.Globals["SpawnType"] = UserData.CreateStatic<SpawnType>();
|
||||
lua.Globals["ChatMessageType"] = UserData.CreateStatic<ChatMessageType>();
|
||||
|
||||
Reference in New Issue
Block a user