Fixes stuck Go-routine

Fixes https://github.com/pterodactyl/panel/issues/1816
Credit goes to https://github.com/matthewpi
This commit is contained in:
AreYouScared 2020-01-28 12:35:56 -05:00 committed by GitHub
parent b37a4a4926
commit 5bde25d5b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -187,17 +187,13 @@ func (rt *Router) routeWebsocket(w http.ResponseWriter, r *http.Request, ps http
// Listen for different events emitted by the server and respond to them appropriately.
go func() {
for {
select {
case d := <-eventChannel:
handler.SendJson(&WebsocketMessage{
Event: d.Topic,
Args: []string{d.Data},
})
}
for d := range eventChannel {
handler.SendJson(&WebsocketMessage{
Event: d.Topic,
Args: []string{d.Data},
})
}
}()
// Sit here and check the time to expiration on the JWT every 30 seconds until
// the token has expired. If we are within 3 minutes of the token expiring, send
// a notice over the socket that it is expiring soon. If it has expired, send that