public void WebLoop() { var listener = new HttpListener(); listener.Prefixes.Add("http://*:80/api/"); listener.Start(); while (true) { var context = listener.GetContext(); if (context.Request.HttpMethod == "GET") { Task.Run(() => WebHandlers.Get(context)); } else { requests.Enqueue(context); } } }
public void Update() { if (!init) { return; } for (int i = 0; !requests.IsEmpty && i < rateLimit; i++) { HttpListenerContext context; if (requests.TryDequeue(out context)) { if (context.Request.HttpMethod == "PUT") { WebHandlers.Put(context); } else { context.Respond("400 Bad Request", 400); } } } }