Files
OpenRec/NameServer.cs
recroom2016tutorial 02d5026f7a brhgdfgdf
2022-06-04 23:07:00 -04:00

74 lines
1.9 KiB
C#

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using Newtonsoft.Json;
using start;
namespace server
{
// Token: 0x02000050 RID: 80
internal class NameServer
{
// Token: 0x06000227 RID: 551 RVA: 0x00006D1C File Offset: 0x00004F1C
public NameServer()
{
try
{
Console.WriteLine("[NameServer.cs] has started.");
new Thread(new ThreadStart(this.StartListen)).Start();
}
catch (Exception ex)
{
Console.WriteLine("An Exception Occurred while Listening :" + ex.ToString());
}
}
// Token: 0x06000228 RID: 552 RVA: 0x00006D84 File Offset: 0x00004F84
private void StartListen()
{
//nameserver is ONLY for 2018
this.listener.Prefixes.Add("http://localhost:20181/");
for (; ; )
{
this.listener.Start();
Console.WriteLine("[NameServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl;
string s = "";
NSData data = new NSData()
{
API = "http://localhost:2018",
Notifications = "http://localhost:20161",
Images = "http://localhost:20182"
};
s = JsonConvert.SerializeObject(data);
Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(1);
outputStream.Close();
this.listener.Stop();
}
}
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string BlankResponse = "";
public class NSData
{
public string API { get; set; }
public string Notifications { get; set; }
public string Images { get; set; }
}
// Token: 0x04000192 RID: 402
private HttpListener listener = new HttpListener();
}
}