Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
                    }
                }
            }
        }