Gin: SockJS-Integration

Erstellt am 15. Nov. 2014  ·  3Kommentare  ·  Quelle: gin-gonic/gin

Hi,
Ich finde es schwierig, einen sockjs-Server (http://godoc.org/gopkg.in/igm/sockjs-go.v2/sockjs) zu integrieren, da der Handler einen http.Handler-Typ zurückgibt.

Hier ist der Initialisierer:

var messageHandler = sockjs.NewHandler("/api/messages", sockjs.DefaultOptions, func(session sockjs.Session) {
    go func() {
        receiveMessage(session)
    }()
})

Ich kann es nicht einfach in ein func (c *gin.Context) packen, also gibt es wahrscheinlich einen anderen Weg..?
Danke für die Hilfe.

Hilfreichster Kommentar

51 Ausgabe und Beispiel funktioniert einwandfrei.

Danke Javier!

Zur Verdeutlichung für Interessierte:

func messageHandler(c *gin.Context) {
  sockjsHandler := sockjs.NewHandler("/api/messages", sockjs.DefaultOptions, func(session sockjs.Session) {
        go func() {
            receiveMessage(session)
        }()
    })
  sockjsHandler.ServeHTTP(c.Writer, c.Request)
}

Alle 3 Kommentare

Sie können zu einer niedrigeren Ebene des Frameworks wechseln, bitte überprüfen Sie dies: #51

51 Ausgabe und Beispiel funktioniert einwandfrei.

Danke Javier!

Zur Verdeutlichung für Interessierte:

func messageHandler(c *gin.Context) {
  sockjsHandler := sockjs.NewHandler("/api/messages", sockjs.DefaultOptions, func(session sockjs.Session) {
        go func() {
            receiveMessage(session)
        }()
    })
  sockjsHandler.ServeHTTP(c.Writer, c.Request)
}

@gplume großartig, um zukünftige Probleme wie diese zu vermeiden, werde ich die Readme-Datei bald aktualisieren.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen