Working basic REST server

This commit is contained in:
Crom (Thibaut CHARLES) 2015-04-14 23:24:56 +02:00
parent ac468d7516
commit af631a9b24
1 changed files with 23 additions and 17 deletions

View File

@ -23,7 +23,8 @@ using NWItemProperty = NWScript.NWScriptEngineStructure4;
using System.Threading;
using Grapevine.Server;
using System.IO;
using System.Net;
namespace CLRScript
{
public partial class nwn2_ai_onmoduleload : CLRScriptBase, ICLRScriptImplementation, IGeneratedScriptProgram
@ -49,26 +50,31 @@ namespace CLRScript
public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode)
{
var server = new RESTServer();
server = new RESTServer("127.0.0.1", "8080", "http", "index.html", "C:\\nowhere", 1);
server.Start();
while (server.IsListening)
{
Thread.Sleep(300);
}
int Volume;
MessageToSpeak = "Hello, world";
Volume = TALKVOLUME_TALK;
AssignCommand(OBJECT_SELF, delegate() { ActionSpeakString(MessageToSpeak, Volume); });
AssignCommand(OBJECT_SELF, delegate() { ActionSpeakString("Start!", TALKVOLUME_TALK); });
DelayCommand(0.5f, Heartbeat);
return DefaultReturnCode;
}
[NWScriptGlobal]
private string MessageToSpeak;
public void Heartbeat()
{
ActionSpeakString("hb", TALKVOLUME_TALK);
DelayCommand(0.5f, Heartbeat);
}
RESTServer server;
public sealed class MyResource : RESTResource
{
[RESTRoute]
public void HandleAllGetRequests(HttpListenerContext context)
{
SendTextResponse(context, "GET is a success!");
}
}
}
}