Gin: Integração SockJS

Criado em 15 nov. 2014  ·  3Comentários  ·  Fonte: gin-gonic/gin

Olá,
Acho difícil integrar um servidor sockjs (http://godoc.org/gopkg.in/igm/sockjs-go.v2/sockjs), pois o manipulador retorna um tipo http.Handler.

Aqui está o inicializador:

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

Não posso simplesmente embrulhar em func (c *gin.Context) então acho que provavelmente há outra maneira ..?
Obrigado pela ajuda.

Comentários muito úteis

51 problema e exemplo funcionam perfeitamente.

Obrigado Javier!

Para maior clareza dos interessados:

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)
}

Todos 3 comentários

Você pode ir para um nível inferior da estrutura, verifique isto: # 51

51 problema e exemplo funcionam perfeitamente.

Obrigado Javier!

Para maior clareza dos interessados:

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 ótimo, para evitar problemas futuros como esse, atualizarei o leia-me em breve.

Esta página foi útil?
0 / 5 - 0 avaliações