trying to make the json/js page work
[goDBhammer.git] / src / webconnector.go
index c64e0bd..ee42713 100644 (file)
@@ -8,40 +8,62 @@ import (
        "io";
        //"./dbibridge";
        "./benchcontroller";
+       //"dbconnector";
        "fmt";
+       "json";
 )
 
-var comin chan int;
-var comout chan int;
-
-// hello world, the web server
-func HelloServer(c *http.Conn, req *http.Request) {
-       comout <- 1;
-       io.WriteString(c, "<html><form method=post><input type=\"input\"><input type=\"submit\" name=\"go\" value=\"go\"></html>\n");
-       
-       // fucking go, i just wanna consume the incoming data, but it forces me to do something with it... cunt of a language
-       k := <- comin;
-       fmt.Printf("%d\n", k);
+type JSONStatData struct {
+       currentJob int; // 1 = nothing, 2 = have database login, 3 = createing data, 4 = running test, 5 = finished
+       currentStatus int; // percent complete
 }
 
-func main() {
+var comin chan string;
+var cominstatus chan string;
+var comout chan string;
 
-       //var Dbconn *dbibridge.DBIConnection;
+func JSONResponder(c *http.Conn, req *http.Request)
+{
+       //stat := <- cominstatus;
+       
+       if(req.Method == "GET") {
        
-       //Dbconn = dbibridge.DBICreate();
+               j, _, _ := json.StringToJson("{\"status\":1, \"complete\":90}");
+               
+               io.WriteString(c, fmt.Sprintf("%s\n", json.JsonToString(j)));
+               fmt.Printf("i got a get\n");
+       }
+       if(req.Method == "POST") {
+               fmt.Printf("i got a post...\n");
+               http.Redirect(c, "/", 301);
+       }
        
-       //dbibridge.DBIConnect(Dbconn, "mysql", "localhost", "root", "password", "zm");
-       //dbibridge.ExecSQL(Dbconn, "create table asdf (asdf int)");
-       //dbibridge.DBIDisconnect(Dbconn);
+}
+
+
+func header(c *http.Conn)
+{
+       io.WriteString(c, "<html><head></head><body>");
+}
+
+func footer(c *http.Conn)
+{
+       io.WriteString(c, "</body></html>");
+}
+
+func main()
+{
+       comin = make(chan string);
+       cominstatus = make(chan string);
+       comout = make(chan string);
        
-       comin = make(chan int);
-       comout = make(chan int);
        
        bc := benchcontroller.CreateController();
-       go benchcontroller.MainLoop(bc, comout, comin);
+       go benchcontroller.MainLoop(bc, comout, comin, cominstatus);
        
-       http.Handle("/hello", http.HandlerFunc(HelloServer));
-       err := http.ListenAndServe(":12345", nil);
+       http.Handle("/", http.FileServer("./web/", "/"));
+       http.Handle("/json", http.HandlerFunc(JSONResponder));
+       err := http.ListenAndServe(":22222", nil);
        if err != nil {
                panic("ListenAndServe: ", err.String())
        }