コード例 #1
0
ファイル: OSXJV.cs プロジェクト: allforme3/OSXJV
 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());
     }
 }
コード例 #2
0
ファイル: OSXJV.cs プロジェクト: allforme3/OSXJV
        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());
            }
        }
コード例 #3
0
ファイル: OSXJV.cs プロジェクト: allforme3/OSXJV
        private void HandleClient(HttpListenerContext c)
        {
            switch (c.Request.HttpMethod)
            {
            case "POST":
                Post(HandlePost(c.Request), c.Response);
                break;

            case "GET":
                Post(HandleGet(c.Request), c.Response);
                break;

            case "OPTIONS":
                HandleOptions(c.Response);
                break;

            default:
                Post(Response.GetInvalidRequestResponse(), c.Response);
                break;
            }
        }