diff --git a/cmd/subscribe.go b/cmd/subscribe.go index 77c3c06..7e9bff3 100644 --- a/cmd/subscribe.go +++ b/cmd/subscribe.go @@ -63,17 +63,14 @@ 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) +func handleUnexpectedClose(gamePk string) (*statsapi.GamedayWebsocket, []byte, error) { + ws, _, err := newWebsocket(gamePk) if err != nil { - return err + return nil, nil, err } - *ws = *newWs - feedResp, err = statsapi.RequestFeed(gamePk) - return err + feedResp, err := statsapi.RequestFeed(gamePk) + return ws, feedResp, err } func subscribe(cmd *cobra.Command, args []string) { @@ -103,7 +100,7 @@ func subscribe(cmd *cobra.Command, args []string) { err = ws.ReadJSON(&p) if websocket.IsUnexpectedCloseError(err, statsapi.GameFinalCode, statsapi.GameUnavailableCode) { log.Println(err) - err = handleUnexpectedClose(ws, feedResp, pkStr) + ws, feedResp, err = handleUnexpectedClose(pkStr) if err != nil { log.Fatal(err) }