add helper function
This commit is contained in:
parent
be70ee7330
commit
bb58d07706
|
@ -63,6 +63,19 @@ func newWebsocket(gamePk string) (*statsapi.GamedayWebsocket, <-chan error, erro
|
|||
return &ws, ch, err
|
||||
}
|
||||
|
||||
func handleUnexpectedClose(ws *statsapi.GamedayWebsocket, feedResp []byte, gamePk string) error {
|
||||
ws.Close()
|
||||
|
||||
newWs, _, err := newWebsocket(gamePk)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*ws = *newWs
|
||||
|
||||
feedResp, err = statsapi.RequestFeed(gamePk)
|
||||
return err
|
||||
}
|
||||
|
||||
func subscribe(cmd *cobra.Command, args []string) {
|
||||
pkStr := strconv.Itoa(gamePk)
|
||||
ws, _, err := newWebsocket(pkStr)
|
||||
|
@ -90,19 +103,11 @@ func subscribe(cmd *cobra.Command, args []string) {
|
|||
err = ws.ReadJSON(&p)
|
||||
if websocket.IsUnexpectedCloseError(err, statsapi.GameFinalCode, statsapi.GameUnavailableCode) {
|
||||
log.Println(err)
|
||||
ws.Close()
|
||||
|
||||
ws, _, err = newWebsocket(pkStr)
|
||||
err = handleUnexpectedClose(ws, feedResp, pkStr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer ws.Close()
|
||||
|
||||
feedResp, err = statsapi.RequestFeed(pkStr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
continue
|
||||
} else if err != nil {
|
||||
log.Fatal(err)
|
||||
|
|
Loading…
Reference in New Issue