From feb228c1fc35aae543d369012994eac7a1dca90f Mon Sep 17 00:00:00 2001 From: Kevin Chabowski Date: Thu, 27 Mar 2014 23:48:11 +0100 Subject: Homepage done --- pages.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'pages.go') diff --git a/pages.go b/pages.go index 886f1d6..ebe284a 100644 --- a/pages.go +++ b/pages.go @@ -3,8 +3,10 @@ package main import ( "github.com/gorilla/mux" "html/template" + "math/rand" "net/http" "path" + "strings" ) var ( @@ -15,16 +17,32 @@ type ChatpageData struct { Websock, Roomname string } +type HomeData struct { + RandomChat string +} + +var randroomAlphabet = []rune("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLNOPQRSTUVWXYZ") + +const randroomLen = 10 + +func randomRoom() string { + name := make([]rune, randroomLen) + for i := 0; i < randroomLen; i++ { + name[i] = randroomAlphabet[rand.Intn(len(randroomAlphabet))] + } + return string(name) +} + func PrepTemplates() { TplHome = template.Must(template.ParseFiles(path.Join(*tplpath, "home.html"))) TplChat = template.Must(template.ParseFiles(path.Join(*tplpath, "chat.html"))) } func Home(rw http.ResponseWriter, req *http.Request) { - TplHome.Execute(rw, nil) // TODO: Should we log the error? + TplHome.Execute(rw, HomeData{randomRoom()}) } func Chatpage(rw http.ResponseWriter, req *http.Request) { vars := mux.Vars(req) - TplChat.Execute(rw, ChatpageData{"ws://" + req.Host + req.URL.Path + "socket", vars["chatroom"]}) + TplChat.Execute(rw, ChatpageData{"ws://" + req.Host + strings.Replace(req.URL.Path+"/socket", "//", "/", -1), vars["chatroom"]}) } -- cgit v1.2.3-54-g00ecf