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. // Listen for different events emitted by the server and respond to them appropriately.
go func() { go func() {
for { for d := range eventChannel {
select { handler.SendJson(&WebsocketMessage{
case d := <-eventChannel: Event: d.Topic,
handler.SendJson(&WebsocketMessage{ Args: []string{d.Data},
Event: d.Topic, })
Args: []string{d.Data},
})
}
} }
}() }()
// Sit here and check the time to expiration on the JWT every 30 seconds until // 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 // 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 // a notice over the socket that it is expiring soon. If it has expired, send that