Exemplo n.º 1
0
        public void GetDistinctFieldValues(HttpListenerRequest req, HttpListenerResponse resp, JObject jobj)
        {
            if (!jobj.ContainsKey("logname"))
            {
                throw new ApiException(400, "log name is not defined");
            }
            string name = jobj["logname"].Value <string>();
            var    db   = DatabaseClient.Self.GetLogDatabase(name);
            var    args = req.ReadJson <GetDistinctFieldValuesArgs>();
            bool   success;
            var    res = db.GetDistinctFieldValues(args.FieldName, out success);

            if (!success)
            {
                if (res == null)
                {
                    throw new ApiException(404, "field not found");
                }
                else
                {
                    throw new ApiException(400, "too much field values");
                }
            }
            resp.WriteJson(res.ToArray());
        }
Exemplo n.º 2
0
        public void AddLabel(HttpListenerRequest req, HttpListenerResponse resp, JObject args)
        {
            string logname = args["logname"].Value <string>();
            var    label   = req.ReadJson <LogLabel>();
            var    db      = GetDb(logname);

            if (db.GetLabels().Any(t => t._id == label._id))
            {
                throw new ApiException(400, "Label with such id already exists");
            }
            db.AddLabel(label);
            resp.Close();
        }
Exemplo n.º 3
0
        public void GetItemsAtPos(HttpListenerRequest req, HttpListenerResponse resp, JObject jobj)
        {
            if (!jobj.ContainsKey("logname"))
            {
                throw new ApiException(400, "log name is not defined");
            }
            string name = jobj["logname"].Value <string>();
            var    db   = DatabaseClient.Self.GetLogDatabase(name);
            var    args = req.ReadJson <GetItemsAtPosArgs>();
            var    res  = db.GetTracesAtPos(args.Pos, args.Count);

            resp.WriteJson(res);
        }
Exemplo n.º 4
0
        public void GetHeaders(HttpListenerRequest req, HttpListenerResponse resp)
        {
            var info = req.ReadJson <GetHeadersReq>();
            var all  = GetFiles();
            var file = all.FirstOrDefault(t => t.Name == info.FileName);

            if (file == null)
            {
                throw new ApiException(404, "Specified file not found");
            }

            using (var sr = new StreamReader(file.OpenRead()))
            {
                var header   = sr.ReadLine();
                var commas   = header.Count(t => t == ',');
                var semicol  = header.Count(t => t == ';');
                var splitter = commas > semicol ? ',' : ';';
                resp.WriteJson(header.Split(splitter));
            }
        }