18 type JSONStatData struct {
19 currentJob int; // 1 = nothing, 2 = have database login, 3 = createing data, 4 = running test, 5 = finished
20 currentStatus int; // percent complete
24 //type DBDataPost struct {
27 var comin chan string;
28 var cominstatus chan string;
29 var comout chan string;
33 func JSONResponder(c *http.Conn, req *http.Request)
35 //stat := <- cominstatus;
37 if(req.Method == "GET") {
39 j, _, _ := json.StringToJson(fmt.Sprintf("{\"status\":%d, \"complete\":90}", stat));
41 io.WriteString(c, fmt.Sprintf("%s\n", json.JsonToString(j)));
42 fmt.Printf("i got a get\n");
44 if(req.Method == "POST") {
45 ll := make([]byte, 1048576);
46 nc,_ := req.Body.Read(ll);
47 lp := make([]byte, nc);
49 fmt.Printf("i got a post...%s\n", string(lp));
50 //http.Redirect(c, "/", 301);
51 s,g,es := json.StringToJson(string(lp));
52 //s,g,es = json.StringToJson("[{\"name\":\"dbtype\",\"value\":\"a\"},{\"name\":\"dbhost\",\"value\":\"a\"},{\"name\":\"dbuser\",\"value\":\"a\"},{\"name\":\"dbpass\",\"value\":\"a\"},{\"name\":\"dbname\",\"value\":\"a\"},{\"name\":\"datamult\",\"value\":\"1\"},{\"name\":\"nclients\",\"value\":\"2\"}]");
53 //fmt.Printf("\n[{\"name\":\"dbtype\",\"value\":\"a\"},{\"name\":\"dbhost\",\"value\":\"a\"},{\"name\":\"dbuser\",\"value\":\"a\"},{\"name\":\"dbpass\",\"value\":\"a\"},{\"name\":\"dbname\",\"value\":\"a\"},{\"name\":\"datamult\",\"value\":\"1\"},{\"name\":\"nclients\",\"value\":\"2\"}]'\n%s'\n", tkl[0]);
59 fmt.Printf("false '%s' %d\n", es, len(es));
62 fmt.Printf("erg: %d\n", s2.Kind());
63 fmt.Printf("erg: %s\n", s2.String());
64 fmt.Printf("i got a post...%s and its\n", (string)(lp));
71 func header(c *http.Conn)
73 io.WriteString(c, "<html><head></head><body>");
76 func footer(c *http.Conn)
78 io.WriteString(c, "</body></html>");
83 comin = make(chan string);
84 cominstatus = make(chan string);
85 comout = make(chan string);
89 bc := benchcontroller.CreateController();
90 go benchcontroller.MainLoop(bc, comout, comin, cominstatus);
92 http.Handle("/", http.FileServer("./web/", "/"));
93 http.Handle("/json", http.HandlerFunc(JSONResponder));
94 err := http.ListenAndServe(":22222", nil);
96 panic("ListenAndServe: ", err.String())