package main import ( "encoding/json" "fmt" "github.com/garyburd/redigo/redis" "log" "net/http" ) func IndexHandler(w http.ResponseWriter, r *http.Request) { hosts := []Host{} c := pool.Get() defer c.Close() j, err := redis.String(c.Do("GET", cache_prefix+"database")) if err == nil { err = json.Unmarshal([]byte(j), &hosts) if err != nil { log.Println("Error JSON decoding: ", err) Db.Find(&hosts) CacheHosts(cache_prefix+"database", hosts) } } else { log.Println("Redis: ", err) Db.Find(&hosts) CacheHosts(cache_prefix+"database", hosts) } index := mainTempl.Lookup("index.html") err = index.ExecuteTemplate(w, "index.html", hosts) if err != nil { log.Panic(err) } } func RegisterHandler(w http.ResponseWriter, r *http.Request) { log.Println("Processing registration!") fmt.Fprintf(w, "Processing registration! \n") } func PrintRegisterHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Printing register etc! \n") } func PrintNewJobHandler(w http.ResponseWriter, r *http.Request) { log.Println("Printing job") job := mainTempl.Lookup("jobs.html") err := job.ExecuteTemplate(w, "jobs.html", nil) if err != nil { log.Panic(err) } } func AddNewJobHandler(w http.ResponseWriter, r *http.Request) { log.Printf("Add new job") err := r.ParseForm() if err != nil { log.Panic(err) } host := &Host{} err = decoder.Decode(host, r.PostForm) if err != nil { log.Panic(err) } log.Printf("%v", host) fmt.Fprintf(w, "%s", host.Url) Db.Debug().Save(host) } func ShowJobHandler(w http.ResponseWriter, r *http.Request) { jobs := c.Entries() for _, i := range jobs { fmt.Fprintf(w, "Job: %v, Schedule: %v; Next %v; Prev %v \n", i.Job, i.Schedule, i.Next, i.Prev) } }