Skip to content

Commit

Permalink
loopback messages to other websockets as well
Browse files Browse the repository at this point in the history
  • Loading branch information
NikkyAI committed Aug 26, 2020
1 parent 58b6c4d commit b692173
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions bridge/api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func New(cfg *bridge.Config) bridge.Bridger {
b.Log.Errorf("failed to decode message from byte[] '%s'", string(msg))
return
}
b.handleWebsocketMessage(message)
b.handleWebsocketMessage(message, s)
})
b.mrouter.HandleConnect(func(session *melody.Session) {
greet := b.getGreeting()
Expand Down Expand Up @@ -178,13 +178,20 @@ func (b *API) handleStream(c echo.Context) error {
}
}

func (b *API) handleWebsocketMessage(message config.Message) {
func (b *API) handleWebsocketMessage(message config.Message, s *melody.Session) {
message.Channel = "api"
message.Protocol = "api"
message.Account = b.Account
message.ID = ""
message.Timestamp = time.Now()

data, err := json.Marshal(message)
if err != nil {
b.Log.Errorf("failed to encode message for loopback '%v'", message)
return
}
_ = b.mrouter.BroadcastOthers(data, s)

b.Log.Debugf("Sending websocket message from %s on %s to gateway", message.Username, "api")
b.Remote <- message
}
Expand Down

0 comments on commit b692173

Please sign in to comment.