http request support
This commit is contained in:
@@ -7,6 +7,7 @@ using Barotrauma.Networking;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Barotrauma.Items.Components;
|
using Barotrauma.Items.Components;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
|
||||||
namespace Barotrauma
|
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:
|
// hooks:
|
||||||
// chatMessage
|
// chatMessage
|
||||||
// think
|
// think
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ namespace Barotrauma
|
|||||||
UserData.RegisterType<LuaRandom>();
|
UserData.RegisterType<LuaRandom>();
|
||||||
UserData.RegisterType<LuaTimer>();
|
UserData.RegisterType<LuaTimer>();
|
||||||
UserData.RegisterType<LuaFile>();
|
UserData.RegisterType<LuaFile>();
|
||||||
|
UserData.RegisterType<LuaNetworking>();
|
||||||
UserData.RegisterType<Vector2>();
|
UserData.RegisterType<Vector2>();
|
||||||
UserData.RegisterType<Vector3>();
|
UserData.RegisterType<Vector3>();
|
||||||
UserData.RegisterType<Vector4>();
|
UserData.RegisterType<Vector4>();
|
||||||
@@ -161,7 +162,8 @@ namespace Barotrauma
|
|||||||
UserData.RegisterType<StatusEffect>();
|
UserData.RegisterType<StatusEffect>();
|
||||||
UserData.RegisterType<CustomInterface.CustomInterfaceElement>();
|
UserData.RegisterType<CustomInterface.CustomInterfaceElement>();
|
||||||
UserData.RegisterType<FireSource>();
|
UserData.RegisterType<FireSource>();
|
||||||
|
|
||||||
|
|
||||||
lua = new Script(CoreModules.Preset_SoftSandbox | CoreModules.LoadMethods);
|
lua = new Script(CoreModules.Preset_SoftSandbox | CoreModules.LoadMethods);
|
||||||
|
|
||||||
lua.Options.DebugPrint = PrintMessage;
|
lua.Options.DebugPrint = PrintMessage;
|
||||||
@@ -178,6 +180,7 @@ namespace Barotrauma
|
|||||||
lua.Globals["Random"] = new LuaRandom();
|
lua.Globals["Random"] = new LuaRandom();
|
||||||
lua.Globals["Timer"] = new LuaTimer(this);
|
lua.Globals["Timer"] = new LuaTimer(this);
|
||||||
lua.Globals["File"] = UserData.CreateStatic<LuaFile>();
|
lua.Globals["File"] = UserData.CreateStatic<LuaFile>();
|
||||||
|
lua.Globals["Networking"] = new LuaNetworking(this);
|
||||||
lua.Globals["WayPoint"] = UserData.CreateStatic<WayPoint>();
|
lua.Globals["WayPoint"] = UserData.CreateStatic<WayPoint>();
|
||||||
lua.Globals["SpawnType"] = UserData.CreateStatic<SpawnType>();
|
lua.Globals["SpawnType"] = UserData.CreateStatic<SpawnType>();
|
||||||
lua.Globals["ChatMessageType"] = UserData.CreateStatic<ChatMessageType>();
|
lua.Globals["ChatMessageType"] = UserData.CreateStatic<ChatMessageType>();
|
||||||
|
|||||||
Reference in New Issue
Block a user