zirconium-go/cmd/zr/main.go

39 lines
900 B
Go
Raw Normal View History

2020-02-07 10:41:29 +00:00
package main
import (
"log"
"net/http"
"github.com/ChronosX88/zirconium/internal"
2020-02-10 10:55:22 +00:00
"github.com/google/logger"
2020-02-07 10:41:29 +00:00
"github.com/gorilla/mux"
"github.com/gorilla/websocket"
)
var connectionHandler = internal.NewConnectionHandler()
2020-02-07 10:41:29 +00:00
var upgrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
return true
},
}
func main() {
internal.InitializeContext("localhost")
2020-02-07 10:41:29 +00:00
router := mux.NewRouter()
router.HandleFunc("/", func(response http.ResponseWriter, request *http.Request) {
response.Write([]byte("Zirconium server is up and running!"))
}).Methods("GET")
router.HandleFunc("/ws", wsHandler)
2020-02-10 10:55:22 +00:00
logger.Info("Zirconium successfully started!")
logger.Fatal(http.ListenAndServe(":8844", router))
2020-02-07 10:41:29 +00:00
}
func wsHandler(w http.ResponseWriter, r *http.Request) {
ws, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Fatal(err)
}
connectionHandler.HandleNewConnection(ws)
2020-02-07 10:41:29 +00:00
}