private Response HandleGet(HttpListenerRequest req) { if (req.Url.Segments[1].Equals("Process/")) { Node cached; Request r = Request.GetRequest(req.Url.Segments[2], null, req.Url.Segments[3]); try { using (StreamReader sr = new StreamReader(@"" + path + "/" + r.Filename + ".json")) { cached = JsonConvert.DeserializeObject <Node>(sr.ReadToEnd()); } } catch { return(Response.GetErrorResponse()); } Output o = new Output(cached); JObject response = new JObject(); response.Add("view", o.CreateView(int.Parse(r.Data))); byte[] bytes = Encoding.UTF8.GetBytes(response.ToString()); return(Response.GetResponse(200, "application/json", bytes)); } else { return(Response.GetInvalidRequestResponse()); } }
private Response HandlePost(HttpListenerRequest req) { if (req.RawUrl.Equals("/Process")) { if (req.HasEntityBody) { Request r = null; try { r = GetData(req.InputStream); } catch { return(Response.GetInvalidRequestResponse()); } if (Validation.CheckDocument(r.Data, r.Type)) { string id = Guid.NewGuid().ToString(); Process pro = Process.GetProcess(r.Data, r.Type); Node n = pro.ProcessDocument(); Output o = new Output(n); //new output object try { SaveFile(id, n); JObject response = new JObject(); response.Add("filename", id); response.Add("grid", o.CreateGrid()); response.Add("view", o.CreateView(1)); byte[] bytes = Encoding.UTF8.GetBytes(response.ToString()); return(Response.GetResponse(200, "application/json", bytes)); } catch { return(Response.GetErrorResponse()); } } } return(Response.GetErrorResponse()); } else { return(Response.GetInvalidRequestResponse()); } }