package websocket

import (
	"net/http"
	"primesys_producer/src/logger"
)

func SocketServer(socketAddr string) {

	hub := socketHub

	go hub.run()
	logger.Info("Socket Server started.....")
	http.HandleFunc("/ws", func(w http.ResponseWriter, r *http.Request) {

		if r.Method != http.MethodGet {
			logger.Error("Wrong method used")
			return
		}

		key := r.URL.Query().Get("key")

		logger.Info("imei of socket server received %s", key)

		if key == "" {
			http.Error(w, "Imei is required", http.StatusBadRequest)
			return
		}

		serverWs(key, hub, w, r)
	})

	err := http.ListenAndServe(socketAddr, nil)
	if err != nil {
		logger.Error("Sokcet not started")
	}
}
