From 32e72e532e6d302780a8a11002fed8a68719f62a Mon Sep 17 00:00:00 2001 From: filifa Date: Sun, 6 Apr 2025 01:15:34 -0400 Subject: [PATCH] get rid of internal --- cmd/subscribe.go | 15 +++++++-------- cmd/{internal/statsapi => }/websocket.go | 18 +++++++++--------- 2 files changed, 16 insertions(+), 17 deletions(-) rename cmd/{internal/statsapi => }/websocket.go (84%) diff --git a/cmd/subscribe.go b/cmd/subscribe.go index 6f62e75..2c9ef7c 100644 --- a/cmd/subscribe.go +++ b/cmd/subscribe.go @@ -29,7 +29,6 @@ import ( "github.com/spf13/cobra" "scm.dairydemon.net/filifa/mlbstats/api" "scm.dairydemon.net/filifa/mlbstats/api/models" - "scm.dairydemon.net/filifa/mlbstats/cmd/internal/statsapi" ) var gamePk int32 @@ -82,19 +81,19 @@ func patch(feed *models.BaseballGameRestObject, client *api.APIClient) error { return err } -func newWebsocket(gamePk int32) (*statsapi.GamedayWebsocket, <-chan error, error) { - ws, err := statsapi.NewGamedayWebsocket(gamePk) +func newWebsocket(gamePk int32) (*gamedayWebsocket, <-chan error, error) { + ws, err := newGamedayWebsocket(gamePk) if err != nil { return nil, nil, err } ch := make(chan error) - go ws.KeepAlive(10*time.Second, ch) + go ws.keepAlive(10*time.Second, ch) return ws, ch, err } -func handleUnexpectedClose(feed *models.BaseballGameRestObject, client *api.APIClient) (*statsapi.GamedayWebsocket, error) { +func handleUnexpectedClose(feed *models.BaseballGameRestObject, client *api.APIClient) (*gamedayWebsocket, error) { ws, _, err := newWebsocket(feed.GamePk) if err != nil { return nil, err @@ -105,10 +104,10 @@ func handleUnexpectedClose(feed *models.BaseballGameRestObject, client *api.APIC return ws, err } -func updateFeed(feed *models.BaseballGameRestObject, ws *statsapi.GamedayWebsocket, client *api.APIClient) error { - var p statsapi.Push +func updateFeed(feed *models.BaseballGameRestObject, ws *gamedayWebsocket, client *api.APIClient) error { + var p push err := ws.ReadJSON(&p) - if websocket.IsUnexpectedCloseError(err, statsapi.GameFinalCode, statsapi.GameUnavailableCode) { + if websocket.IsUnexpectedCloseError(err, GameFinalCode, GameUnavailableCode) { log.Println(err) newWs, err := handleUnexpectedClose(feed, client) diff --git a/cmd/internal/statsapi/websocket.go b/cmd/websocket.go similarity index 84% rename from cmd/internal/statsapi/websocket.go rename to cmd/websocket.go index 0c309b3..c8a1554 100644 --- a/cmd/internal/statsapi/websocket.go +++ b/cmd/websocket.go @@ -13,7 +13,7 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package statsapi +package cmd import ( "net/url" @@ -25,7 +25,7 @@ import ( // Push is a struct for holding data sent to us through the websocket that we // care about. -type Push struct { +type push struct { UpdateId string } @@ -36,15 +36,15 @@ const ( // GamedayWebsocket is a struct for establishing a websocket connection with // the Stats API. -type GamedayWebsocket struct { +type gamedayWebsocket struct { baseURL url.URL *websocket.Conn } // NewGamedayWebsocket creates a statsapi.GamedayWebsocket using the Stats API // websocket URL and establishes a connection. -func NewGamedayWebsocket(gamePk int32) (*GamedayWebsocket, error) { - ws := GamedayWebsocket{ +func newGamedayWebsocket(gamePk int32) (*gamedayWebsocket, error) { + ws := gamedayWebsocket{ baseURL: url.URL{ Scheme: "wss", Host: "ws.statsapi.mlb.com", @@ -55,7 +55,7 @@ func NewGamedayWebsocket(gamePk int32) (*GamedayWebsocket, error) { return &ws, err } -func (g *GamedayWebsocket) init(gamePk int32) error { +func (g *gamedayWebsocket) init(gamePk int32) error { endpoint := url.URL{ Path: "api/v1/game/push/subscribe/gameday/" + strconv.Itoa(int(gamePk)), } @@ -69,7 +69,7 @@ func (g *GamedayWebsocket) init(gamePk int32) error { // SendKeepAlive sends the keep-alive message observed to be sent by MLB // Gameday ("Gameday5"). -func (g *GamedayWebsocket) SendKeepAlive() error { +func (g *gamedayWebsocket) sendKeepAlive() error { msg := []byte("Gameday5") err := g.Conn.WriteMessage(websocket.TextMessage, msg) return err @@ -77,12 +77,12 @@ func (g *GamedayWebsocket) SendKeepAlive() error { // KeepAlive sends the keep-alive message on a certain interval and sends any // errors to ch. -func (g *GamedayWebsocket) KeepAlive(interval time.Duration, ch chan<- error) { +func (g *gamedayWebsocket) keepAlive(interval time.Duration, ch chan<- error) { ticker := time.NewTicker(interval) defer ticker.Stop() for range ticker.C { - err := g.SendKeepAlive() + err := g.sendKeepAlive() if err != nil { ch <- err }