16 type JSONStatData struct {
17 currentJob int; // 1 = nothing, 2 = have database login, 3 = createing data, 4 = running test, 5 = finished
18 currentStatus int; // percent complete
21 var comin chan string;
22 var cominstatus chan string;
23 var comout chan string;
27 func JSONResponder(c *http.Conn, req *http.Request)
29 //stat := <- cominstatus;
31 if(req.Method == "GET") {
33 j, _, _ := json.StringToJson(fmt.Sprintf("{\"status\":%d, \"complete\":90}", stat));
35 io.WriteString(c, fmt.Sprintf("%s\n", json.JsonToString(j)));
36 fmt.Printf("i got a get\n");
38 if(req.Method == "POST") {
39 lp := make([]byte, 1048576);
41 fmt.Printf("i got a post...%s\n", (string)(lp));
42 //http.Redirect(c, "/", 301);
49 func header(c *http.Conn)
51 io.WriteString(c, "<html><head></head><body>");
54 func footer(c *http.Conn)
56 io.WriteString(c, "</body></html>");
61 comin = make(chan string);
62 cominstatus = make(chan string);
63 comout = make(chan string);
67 bc := benchcontroller.CreateController();
68 go benchcontroller.MainLoop(bc, comout, comin, cominstatus);
70 http.Handle("/", http.FileServer("./web/", "/"));
71 http.Handle("/json", http.HandlerFunc(JSONResponder));
72 err := http.ListenAndServe(":22222", nil);
74 panic("ListenAndServe: ", err.String())