incorporate jsonpatch package
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
package statsapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
var DefaultClient = NewClient(http.DefaultClient)
|
||||
|
||||
func Schedule(sportId, teamId string) (ScheduleResponse, error) {
|
||||
func Schedule(sportId, teamId string) ([]byte, error) {
|
||||
return DefaultClient.Schedule(sportId, teamId)
|
||||
}
|
||||
|
||||
func Feed(gamePk string) (FeedResponse, error) {
|
||||
func Feed(gamePk string) ([]byte, error) {
|
||||
return DefaultClient.Feed(gamePk)
|
||||
}
|
||||
|
||||
func DiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
|
||||
func DiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
|
||||
return DefaultClient.DiffPatch(gamePk, startTimecode, pushUpdateId)
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ func NewClient(c *http.Client) *Client {
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Client) Schedule(sportId, teamId string) (ScheduleResponse, error) {
|
||||
func (c *Client) Schedule(sportId, teamId string) ([]byte, error) {
|
||||
endpoint := url.URL{Path: "api/v1/schedule"}
|
||||
query := endpoint.Query()
|
||||
query.Add("sportId", sportId)
|
||||
@@ -44,21 +44,17 @@ func (c *Client) Schedule(sportId, teamId string) (ScheduleResponse, error) {
|
||||
|
||||
url := c.baseURL.ResolveReference(&endpoint)
|
||||
|
||||
var schedule ScheduleResponse
|
||||
err := c.get(url.String(), &schedule)
|
||||
return schedule, err
|
||||
return c.get(url.String())
|
||||
}
|
||||
|
||||
func (c *Client) Feed(gamePk string) (FeedResponse, error) {
|
||||
func (c *Client) Feed(gamePk string) ([]byte, error) {
|
||||
endpoint := url.URL{Path: "api/v1.1/game/" + gamePk + "/feed/live"}
|
||||
url := c.baseURL.ResolveReference(&endpoint)
|
||||
|
||||
var feed FeedResponse
|
||||
err := c.get(url.String(), &feed)
|
||||
return feed, err
|
||||
return c.get(url.String())
|
||||
}
|
||||
|
||||
func (c *Client) DiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
|
||||
func (c *Client) DiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
|
||||
endpoint := url.URL{Path: "api/v1.1/game/" + gamePk + "/feed/live/diffPatch"}
|
||||
query := endpoint.Query()
|
||||
query.Add("language", "en")
|
||||
@@ -68,23 +64,21 @@ func (c *Client) DiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatc
|
||||
|
||||
url := c.baseURL.ResolveReference(&endpoint)
|
||||
|
||||
var diffPatch DiffPatchResponse
|
||||
err := c.get(url.String(), &diffPatch)
|
||||
return diffPatch, err
|
||||
return c.get(url.String())
|
||||
}
|
||||
|
||||
func (c *Client) get(url string, v any) error {
|
||||
func (c *Client) get(url string) ([]byte, error) {
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp, err := c.httpClient.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
err = json.NewDecoder(resp.Body).Decode(v)
|
||||
return err
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
return body, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user