// im a web connector
package main
import (
"http";
"io";
//"./dbibridge";
"./benchcontroller";
"fmt";
)
var comin chan int;
var comout chan int;
// hello world, the web server
func ServerResponder(c *http.Conn, req *http.Request) {
//comout <- 2;
//comout <- 3;
//comout <- 1;
fmt.Printf("lk: %s %s %s\n", req.Method, req.RawURL, req.URL);
if req.RawURL == "/" {
mainPage(c, req);
}
if req.RawURL == "/setup" {
setupPage(c, req);
}
// 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);
}
func setupPage(c *http.Conn, req *http.Request)
{
header(c);
io.WriteString(c, "I am a setup page");
footer(c);
}
func mainPage(c *http.Conn, req *http.Request)
{
header(c);
io.WriteString(c, "
goDBHammer
");
io.WriteString(c, "Welcome to goDBHammer, the go based database benchmarking tool
");
io.WriteString(c, "");
fmt.Printf("%s\n", req.FormValue("dbhost"));
footer(c);
}
func header(c *http.Conn)
{
io.WriteString(c, "");
}
func footer(c *http.Conn)
{
io.WriteString(c, "");
}
func main() {
//var Dbconn *dbibridge.DBIConnection;
//Dbconn = dbibridge.DBICreate();
//dbibridge.DBIConnect(Dbconn, "mysql", "localhost", "root", "password", "zm");
//dbibridge.ExecSQL(Dbconn, "create table asdf (asdf int)");
//dbibridge.DBIDisconnect(Dbconn);
comin = make(chan int);
comout = make(chan int);
bc := benchcontroller.CreateController();
go benchcontroller.MainLoop(bc, comout, comin);
http.Handle("/", http.HandlerFunc(ServerResponder));
err := http.ListenAndServe(":12345", nil);
if err != nil {
panic("ListenAndServe: ", err.String())
}
}