Change websocket library. This Fixes #6
This commit is contained in:
parent
7090d5f8c6
commit
6e482a2220
|
@ -66,7 +66,7 @@ func setupGin() {
|
|||
router.POST("/admin/approve/:id", approveSnap)
|
||||
router.POST("/admin/reject/:id", rejectSnap)
|
||||
|
||||
router.GET("/ws", func(c *gin.Context) { wsHandler(c.Writer, c.Request) })
|
||||
router.GET("/ws", wsHandler)
|
||||
router.GET("/listSnaps", listSnaps)
|
||||
|
||||
router.LoadHTMLGlob(config.C.TemplatesDirectory + "/*.html")
|
||||
|
|
|
@ -1,46 +1,31 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
melody "gopkg.in/olahol/melody.v1"
|
||||
|
||||
"git.1750studios.com/AniNite/SocialDragon/database"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
var wsupgrader = websocket.Upgrader{
|
||||
ReadBufferSize: 1024,
|
||||
WriteBufferSize: 1024,
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return true
|
||||
},
|
||||
}
|
||||
var sockets []*websocket.Conn
|
||||
var lastID uint
|
||||
var m *melody.Melody
|
||||
|
||||
func wsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
conn, err := wsupgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
log.Printf("Failed to set websocket upgrade: %+v", err)
|
||||
return
|
||||
}
|
||||
sockets = append(sockets, conn)
|
||||
for {
|
||||
_, _, err := conn.ReadMessage()
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
func init() {
|
||||
m = melody.New()
|
||||
}
|
||||
|
||||
func wsHandler(c *gin.Context) {
|
||||
m.HandleRequest(c.Writer, c.Request)
|
||||
}
|
||||
|
||||
// SendUpdate sends the content of IT to all connected webcosckets, gets called by database handler.
|
||||
func SendUpdate(IT database.Item) {
|
||||
for i, socket := range sockets {
|
||||
err := socket.WriteJSON(IT)
|
||||
msg, err := json.Marshal(IT)
|
||||
if err != nil {
|
||||
sockets = append(sockets[:i], sockets[i+1:]...)
|
||||
continue
|
||||
}
|
||||
log.Print(err)
|
||||
}
|
||||
m.Broadcast(msg)
|
||||
}
|
||||
|
|
6
vendor/vendor.json
vendored
6
vendor/vendor.json
vendored
|
@ -158,6 +158,12 @@
|
|||
"revision": "5f57d2222ad794d0dffb07e664ea05e2ee07d60c",
|
||||
"revisionTime": "2016-07-18T13:41:25Z"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "imPi2JDKAJPo4w4tiJWviYRKXOg=",
|
||||
"path": "gopkg.in/olahol/melody.v1",
|
||||
"revision": "d521390733761fe1db13de575c253afd5c743085",
|
||||
"revisionTime": "2017-05-18T10:55:55Z"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "fALlQNY1fM99NesfLJ50KguWsio=",
|
||||
"path": "gopkg.in/yaml.v2",
|
||||
|
|
Loading…
Reference in a new issue