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;
25 func JSONResponder(c *http.Conn, req *http.Request)
27 //stat := <- cominstatus;
29 if(req.Method == "GET") {
31 j, _, _ := json.StringToJson("{\"status\":1, \"complete\":90}");
33 io.WriteString(c, fmt.Sprintf("%s\n", json.JsonToString(j)));
34 fmt.Printf("i got a get\n");
36 if(req.Method == "POST") {
37 lp := make([]byte, 1048576);
39 fmt.Printf("i got a post...%s\n", (string)(lp));
40 http.Redirect(c, "/", 301);
46 func header(c *http.Conn)
48 io.WriteString(c, "<html><head></head><body>");
51 func footer(c *http.Conn)
53 io.WriteString(c, "</body></html>");
58 comin = make(chan string);
59 cominstatus = make(chan string);
60 comout = make(chan string);
63 bc := benchcontroller.CreateController();
64 go benchcontroller.MainLoop(bc, comout, comin, cominstatus);
66 http.Handle("/", http.FileServer("./web/", "/"));
67 http.Handle("/json", http.HandlerFunc(JSONResponder));
68 err := http.ListenAndServe(":22222", nil);
70 panic("ListenAndServe: ", err.String())