예제 #1
0
        private string Delete(HttpListenerRequest req, HttpListenerResponse res, string name)
        {
            if (name == "/")
            {
                return(BadRequest(res, "you cannot delete this channel"));
            }

            var channel = Bazar.Get(name);

            if (channel == null)
            {
                return(NotFound(res));
            }

            if (!Security.Instance.CanWrite(channel, req.QueryString.Get("key")))
            {
                return(Unauthorized(res));
            }

            var r = Bazar.DeleteChannel(name);

            Bazar.Save();
            return(JsonConvert.SerializeObject(r));
        }
예제 #2
0
        public static void Main(string[] args)
        {
            Logger.Info("Starting up");

            var server = new HttpServer(Configuration.HttpServerPort);
            var bazar  = new Bazar(server);
            var api    = new RestAPI(server, bazar);

            if (!File.Exists(Configuration.BazarPersistentFile))
            {
                bazar.CreateChannel("/", Configuration.DefaultChannelName, Configuration.DefaultChannelDescription);
            }
            ;

            bazar.Save();

            server.Start();

            (new ManualResetEvent(false)).WaitOne();
        }