make a diffpatchresponse type
This commit is contained in:
parent
500bf7baa4
commit
91397481f0
|
@ -19,10 +19,12 @@ func RequestFeed(gamePk string) ([]byte, error) {
|
||||||
return DefaultClient.RequestFeed(gamePk)
|
return DefaultClient.RequestFeed(gamePk)
|
||||||
}
|
}
|
||||||
|
|
||||||
func RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
|
func RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
|
||||||
return DefaultClient.RequestDiffPatch(gamePk, startTimecode, pushUpdateId)
|
return DefaultClient.RequestDiffPatch(gamePk, startTimecode, pushUpdateId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DiffPatchResponse []byte
|
||||||
|
|
||||||
type Client struct {
|
type Client struct {
|
||||||
baseURL url.URL
|
baseURL url.URL
|
||||||
httpClient *http.Client
|
httpClient *http.Client
|
||||||
|
@ -38,11 +40,11 @@ func NewClient(c *http.Client) *Client {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExtractPatches(diffPatch []byte) ([]jsonpatch.Patch, error) {
|
func (resp *DiffPatchResponse) ExtractPatches() ([]jsonpatch.Patch, error) {
|
||||||
var patches []jsonpatch.Patch
|
var patches []jsonpatch.Patch
|
||||||
|
|
||||||
var objs []map[string]any
|
var objs []map[string]any
|
||||||
err := json.Unmarshal(diffPatch, &objs)
|
err := json.Unmarshal([]byte(*resp), &objs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return patches, err
|
return patches, err
|
||||||
}
|
}
|
||||||
|
@ -83,7 +85,7 @@ func (c *Client) RequestFeed(gamePk string) ([]byte, error) {
|
||||||
return c.get(url.String())
|
return c.get(url.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
|
func (c *Client) RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
|
||||||
endpoint := url.URL{Path: "api/v1.1/game/" + gamePk + "/feed/live/diffPatch"}
|
endpoint := url.URL{Path: "api/v1.1/game/" + gamePk + "/feed/live/diffPatch"}
|
||||||
query := endpoint.Query()
|
query := endpoint.Query()
|
||||||
query.Add("language", "en")
|
query.Add("language", "en")
|
||||||
|
|
2
main.go
2
main.go
|
@ -54,7 +54,7 @@ func updateFeed(feedResp []byte, gamePk, ts, updateId string) ([]byte, error) {
|
||||||
return statsapi.RequestFeed(gamePk)
|
return statsapi.RequestFeed(gamePk)
|
||||||
}
|
}
|
||||||
|
|
||||||
patches, err := statsapi.ExtractPatches(diffPatchResp)
|
patches, err := diffPatchResp.ExtractPatches()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return statsapi.RequestFeed(gamePk)
|
return statsapi.RequestFeed(gamePk)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue