diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..da035de2 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..cee7cf51 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/torrent-project.iml b/.idea/torrent-project.iml new file mode 100644 index 00000000..5e764c4f --- /dev/null +++ b/.idea/torrent-project.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/main.go b/main.go new file mode 100644 index 00000000..5cec422c --- /dev/null +++ b/main.go @@ -0,0 +1,72 @@ +package main + +import ( + "flag" + "fmt" + "github.com/gorilla/mux" + "github.com/gorilla/websocket" + "html/template" + "log" + "net/http" + "os" + "time" +) + +var ( + httpAddr = flag.String("addr", ":8000", "Http server address") + baseTmpl string = "templates/base.tmpl" + + APP_ID = os.Getenv("APP_ID") + APP_SECRET = os.Getenv("APP_SECRET") +) + +var upgrader = websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024, +} + +func serveHome(w http.ResponseWriter, r *http.Request) { + s1, _ := template.ParseFiles("templates/home.tmpl") + s1.ExecuteTemplate(w, "base", map[string]string{"APP_ID": APP_ID}) +} + +func main() { + + r := mux.NewRouter() + + r.HandleFunc("/", serveHome) + http.Handle("/static/", http.FileServer(http.Dir("public"))) + http.Handle("/", r) + http.HandleFunc("/websocket", func(w http.ResponseWriter, r *http.Request) { + conn, err := upgrader.Upgrade(w, r, nil) + if err != nil { + log.Println(err) + return + } + for { + msgType, msg, err := conn.ReadMessage() + if err != nil { + fmt.Println(err) + return + } + if string(msg) == "ping" { + fmt.Println("ping") + time.Sleep(2 * time.Second) + err = conn.WriteMessage(msgType, []byte("pong")) + if err != nil { + fmt.Println(err) + return + } + } else { + conn.Close() + fmt.Println(string(msg)) + return + } + } + }) + if err := http.ListenAndServe(*httpAddr, nil); err != nil { + log.Fatalf("Error listening, %v", err) + } + + // +} diff --git a/projectFilesBackup/.idea/workspace.xml b/projectFilesBackup/.idea/workspace.xml new file mode 100644 index 00000000..866e12c0 --- /dev/null +++ b/projectFilesBackup/.idea/workspace.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + +