clean up code
This commit is contained in:
parent
05e0baac8f
commit
b2fdb364bf
@ -4,23 +4,23 @@ using System.Net;
|
||||
using System.Text;
|
||||
namespace Zerolauncher.Manager
|
||||
{
|
||||
internal class WebApiManager
|
||||
internal static class WebApiManager
|
||||
{
|
||||
static HttpListener listener = new HttpListener();
|
||||
static CancellationTokenSource cts = new CancellationTokenSource();
|
||||
static readonly HttpListener Listener = new HttpListener();
|
||||
static readonly CancellationTokenSource Cts = new CancellationTokenSource();
|
||||
public static async Task StartListener()
|
||||
{
|
||||
listener.Prefixes.Add("http://127.0.0.1:7233/");
|
||||
listener.Start();
|
||||
Listener.Prefixes.Add("http://127.0.0.1:7233/");
|
||||
Listener.Start();
|
||||
Trace.WriteLine("Listening...");
|
||||
|
||||
while (!cts.Token.IsCancellationRequested)
|
||||
while (!Cts.Token.IsCancellationRequested)
|
||||
{
|
||||
HttpListenerContext context = await listener.GetContextAsync();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
var context = await Listener.GetContextAsync();
|
||||
var request = context.Request;
|
||||
var response = context.Response;
|
||||
var raw = request.RawUrl;
|
||||
ResponesBody? rb = null;
|
||||
ResponseBody? rb = null;
|
||||
if (raw != null && raw.Contains("?"))
|
||||
{
|
||||
var lines = raw.Split("?");
|
||||
@ -34,121 +34,79 @@ namespace Zerolauncher.Manager
|
||||
switch (lines[0])
|
||||
{
|
||||
case "/CloseGame":
|
||||
{
|
||||
if (EngineManager.ExitGame(acc))
|
||||
{
|
||||
rb = new ResponesBody(1, 0, $"Account [{nick}] successful to close.");
|
||||
}
|
||||
else
|
||||
{
|
||||
rb = new ResponesBody($"Account [{nick}] is unluacher.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
{
|
||||
rb = EngineManager.ExitGame(acc) ? new ResponseBody(1, 0, $"Account [{nick}] successful to close.") : new ResponseBody($"Account [{nick}] is unluacher.");
|
||||
}
|
||||
break;
|
||||
case "/ToNormalSize":
|
||||
{
|
||||
rb = EngineManager.TurnGameSizeNormal(acc) switch
|
||||
{
|
||||
switch (EngineManager.TurnGameSizeNormal(acc))
|
||||
{
|
||||
case 2:
|
||||
rb = new ResponesBody(1, 0, $"Account [{nick}] now is normal size.");
|
||||
break;
|
||||
case 1:
|
||||
rb = new ResponesBody(0, 0, $"Account [{nick}] is loading, please wait.");
|
||||
break;
|
||||
case 0:
|
||||
rb = new ResponesBody($"Account [{nick}] is unluacher.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
2 => new ResponseBody(1, 0, $"Account [{nick}] now is normal size."),
|
||||
1 => new ResponseBody(0, 0, $"Account [{nick}] is loading, please wait."),
|
||||
0 => new ResponseBody($"Account [{nick}] is unluacher."),
|
||||
_ => rb
|
||||
};
|
||||
}
|
||||
break;
|
||||
case "/ToMiniSize":
|
||||
{
|
||||
rb = EngineManager.TurnGameSizeMini(acc) switch
|
||||
{
|
||||
switch (EngineManager.TurnGameSizeMini(acc))
|
||||
{
|
||||
case 2:
|
||||
rb = new ResponesBody(1, 0, $"Account [{nick}] now is mini size.");
|
||||
break;
|
||||
case 1:
|
||||
rb = new ResponesBody(0, 0, $"Account [{nick}] is loading, please wait.");
|
||||
break;
|
||||
case 0:
|
||||
rb = new ResponesBody($"Account [{nick}] is unluacher.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
2 => new ResponseBody(1, 0, $"Account [{nick}] now is mini size."),
|
||||
1 => new ResponseBody(0, 0, $"Account [{nick}] is loading, please wait."),
|
||||
0 => new ResponseBody($"Account [{nick}] is unluacher."),
|
||||
_ => rb
|
||||
};
|
||||
}
|
||||
break;
|
||||
case "/LoginGame":
|
||||
{
|
||||
if (EngineManager.CreateGame(acc))
|
||||
{
|
||||
rb = new ResponesBody(0, 0, $"Account [{nick}] successful to start.");
|
||||
rb = new ResponseBody(0, 0, $"Account [{nick}] successful to start.");
|
||||
}
|
||||
else
|
||||
{
|
||||
int hwnd = EngineManager.CheckGameState(acc);
|
||||
if (hwnd <= 0)
|
||||
{
|
||||
rb = new ResponesBody(0, 0, $"Account [{nick}] is loading, please wait.");
|
||||
}
|
||||
else
|
||||
{
|
||||
rb = new ResponesBody(1, hwnd, $"Account [{nick}] now is running.");
|
||||
}
|
||||
var hwnd = EngineManager.CheckGameState(acc);
|
||||
rb = hwnd <= 0 ? new ResponseBody(0, 0, $"Account [{nick}] is loading, please wait.") : new ResponseBody(1, hwnd, $"Account [{nick}] now is running.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
rb = new ResponesBody($"commad [{lines[0]}] undefind.");
|
||||
rb = new ResponseBody($"commad [{lines[0]}] undefind.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rb = new ResponesBody($"Account [{nick}] undefind.");
|
||||
rb = new ResponseBody($"Account [{nick}] undefind.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rb = new ResponesBody("args is missing.");
|
||||
rb = new ResponseBody("args is missing.");
|
||||
}
|
||||
|
||||
}
|
||||
if (rb == null)
|
||||
{
|
||||
rb = new ResponesBody();
|
||||
}
|
||||
byte[] buffer = Encoding.UTF8.GetBytes(rb.Encode());
|
||||
rb ??= new ResponseBody();
|
||||
var buffer = Encoding.UTF8.GetBytes(rb.Encode());
|
||||
|
||||
response.ContentLength64 = buffer.Length;
|
||||
Stream output = response.OutputStream;
|
||||
var output = response.OutputStream;
|
||||
await output.WriteAsync(buffer, 0, buffer.Length);
|
||||
output.Close();
|
||||
}
|
||||
listener.Stop();
|
||||
Listener.Stop();
|
||||
}
|
||||
|
||||
public static void StopListener() { cts.Cancel(); }
|
||||
public static void StopListener() { Cts.Cancel(); }
|
||||
}
|
||||
|
||||
class ResponesBody
|
||||
class ResponseBody(int status = -1, int hwnd = 0, string message = "Hello, World!")
|
||||
{
|
||||
public int status;
|
||||
public int hwnd;
|
||||
public string message;
|
||||
|
||||
public ResponesBody(string message)
|
||||
public ResponseBody(string message) : this(-1, 0, message)
|
||||
{
|
||||
this.status = -1;
|
||||
this.hwnd = 0;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public ResponesBody(int status=-1, int hwnd=0, string message= "Hello, World!")
|
||||
{
|
||||
this.status = status;
|
||||
this.hwnd = hwnd;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public string Encode()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user