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