main.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package main
  2. import (
  3. "log"
  4. "os"
  5. "time"
  6. //"fmt"
  7. "net/http"
  8. "html/template"
  9. "github.com/gorilla/mux"
  10. "github.com/gorilla/sessions"
  11. )
  12. var (
  13. logger *log.Logger
  14. dBConnector connection
  15. sessionsStore = sessions.NewCookieStore([]byte("mysecretcookie"))
  16. indexTemplate = template.Must(template.ParseFiles("ui\\templates\\index.html"))
  17. logInTemplate = template.Must(template.ParseFiles("ui\\templates\\login.html"))
  18. signInTemplate = template.Must(template.ParseFiles("ui\\templates\\signin.html"))
  19. gameTemplate = template.Must(template.ParseFiles("ui\\templates\\game.html"))
  20. )
  21. func createLogger() {
  22. startTime := time.Now()
  23. logFileName := "logs/go-site_log_" + startTime.Format("2006-01-02_15-04-05") + ".txt"
  24. file, err := os.OpenFile(logFileName, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
  25. logger = log.New(file, "logger: ", log.Lshortfile)
  26. if err != nil {
  27. log.Fatal(err)
  28. }
  29. }
  30. func main() {
  31. createLogger()
  32. logger.Print("Hello, log file!")
  33. requestRouter := mux.NewRouter()
  34. dBConnector.Init("config.json")
  35. requestRouter.HandleFunc("/", indexHandler).Methods("GET")
  36. //requestRouter.HandleFunc("/", indexPostHandler).Methods("POST") //Есть ли нужда в обработке POST для /
  37. requestRouter.HandleFunc("/login/", logInGetHandler).Methods("GET")
  38. requestRouter.HandleFunc("/login/", logInPostHandler).Methods("POST")
  39. requestRouter.HandleFunc("/logout/", logOutGetHandler).Methods("GET")
  40. requestRouter.HandleFunc("/signin/", signInGetHandler).Methods("GET")
  41. requestRouter.HandleFunc("/signin/", signInPostHandler).Methods("POST")
  42. requestRouter.HandleFunc("/game/", gameGetHandler).Methods("GET")
  43. requestRouter.HandleFunc("/", gamePostHandler).Methods("POST")
  44. http.Handle("/", requestRouter)
  45. logger.Fatal(http.ListenAndServe(":8080", nil))
  46. }